LINUX.ORG.RU

sed script


0

0

подскажите пожалуйста скрипт который бы проходил по содержимому файла и изменял одно определенное словосочетание на другое ?

я делаю так $sed 's/first/second/g' file file1 т.е. создаю еше один уже исправленный файл , а как сделать чтоб он изменял тот-же самый файл .

help plz.

anonymous

В sed есть недокументированная опция, которую нужно писать с новой строки:

mv -f file1 file

вот тогда и будет sed изменять тот-же самый файл.

mrco ★★
()
Ответ на: комментарий от anonymous

один минус есть .когда как описано в первом посте создается новый уже исправленный файл он уже имеет другие права доступа и после mv -f file1 file исходный файл теряет исходные права доступа .

anonymous
()
Ответ на: комментарий от anonymous

лучше использовать cat <file1 >file2 тогда права доступа сахраняются.

anonymous
()

>а как сделать чтоб он изменял тот-же самый файл .

Читайте маны, господа. sed -i

CrazyPit ★★★
()
Ответ на: комментарий от dilmah

perl -i -pe 's/123/321/g' 1.txt очень портабельно. и регекспы помощнее будут. если конечно к перлу неприязни нет...

anonymous
()
Ответ на: комментарий от anonymous

перл конечно прелесть , но уже сделал на шелле.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.