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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.