![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
отсюда
Команда найдёт все файлы в текущем каталоге и подкаталогах, содержащие OLD_TEXT и заменит строку "OLD_TEXT" на "NEW_TEXT":
grep -HR OLDTEXT ./ | awk '{print $1}' | sed 's/:.*$//' | grep -v '~' | sort | uniq | xargs perl -i -pe "s/OLD_TEXT/NEW_TEXT/g;"
мне кажется, что ужасно. мое решение:
если хочется убрать ненужные файлы, то вставить grep -Ev '(~|.o|.a)$', по вкусу.
ps. а
pps. gnu grep умеет -Z
Команда найдёт все файлы в текущем каталоге и подкаталогах, содержащие OLD_TEXT и заменит строку "OLD_TEXT" на "NEW_TEXT":
grep -HR OLDTEXT ./ | awk '{print $1}' | sed 's/:.*$//' | grep -v '~' | sort | uniq | xargs perl -i -pe "s/OLD_TEXT/NEW_TEXT/g;"
мне кажется, что ужасно. мое решение:
grep -rl OLDTEXT . | xargs perl -i -pe "s/OLD_TEXT/NEW_TEXT/g;"
если хочется убрать ненужные файлы, то вставить grep -Ev '(~|.o|.a)$', по вкусу.
ps. а
sed 's/:.*$//'
эффективно прибъёт файлы с двоеточием в имени.pps. gnu grep умеет -Z