Следующая команда заменяет каждое вхождение слова from
в любом файле текущего каталога или его подкаталогов на to
:
ack-grep -l --print0 --text from | xargs -0 -n 1 sed -i -e 's/from/to/g'
Я получил это из этой темы.
Как заменить строку, включающую несколько слов вместо одного слова? Например, заменить laughing babies
smiling little children
.
Я попробовал следующее, но это не сработало:
ack-grep -l --print0 --text 'laughing babies' | xargs -0 -n 1 sed -i -e "s/'laughing babies'/'smiling little children'/g"
ack-grep -l --print0 --text 'laughing babies' | xargs -0 -n 1 sed -i -e 's/"laughing babies"/"smiling little children"/g'
Не знаю, имеет ли это значение, но я на Ubuntu 11.10
.