LINUX.ORG.RU

find & sed


0

0

Нужно во всех текстовых файлах с "before" в названии заменить слово "high"
на "very high". Как можно это реализовать при помощи find & sed? Спасибо..
anonymous

Ответ на: комментарий от dGhost

's/high/very high/' в данном случае заменить все упоминания high, например highdasdasd
Вот такая конструкция лучше:
's/\<high\>/very high/g'

SANTA_CLAUS ★★
()

"high" в названии файла или внутри файла? Для первого случая уже сказали, более короткий вариант для 2-го:

find . -iname '*before*' -exec sed 's/high/very high/' -i '{}' \;

question4 ★★★★★
()
Ответ на: комментарий от sdio

> У тебя редхатоидный rename

В Генту такой же. А где другой, в Дебиане?

question4 ★★★★★
()
Ответ на: комментарий от question4

> find . -iname '*before*' -exec sed 's/high/very high/' -i '{}' \;

я уже написал что в данном случае замене будут подлежать все слова содержащие "high"

Для одного слова high, юзаем конструкцию \<high\>

SANTA_CLAUS ★★
()
Ответ на: комментарий от ananas

>тут не sed, а rename самое оно

>find . -name '*before*' -exec rename 'high' 'very high' {} \;

Тогда уж krename

ansi ★★★★
()
Ответ на: комментарий от sdio

> У тебя редхатоидный rename

обычный, из util-linux-ng

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.