![[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-23 01:52 pm (UTC)no subject
Date: 2011-06-23 02:46 pm (UTC)no subject
Date: 2011-06-23 09:01 pm (UTC)no subject
Date: 2011-06-23 09:04 pm (UTC)no subject
Date: 2011-06-23 09:10 pm (UTC)А без него?
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)no subject
Date: 2011-06-24 05:28 am (UTC)>/dev/null 2>&1
все покрывает? :)no subject
Date: 2011-06-24 09:18 am (UTC)