![[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
no subject
Date: 2011-06-24 05:46 am (UTC)find . -type f -print0 | xargs -0 perl ...
?no subject
Date: 2011-06-24 09:19 am (UTC)no subject
Date: 2011-06-24 10:39 am (UTC)