Как & ldquo; искать и заменять & rdquo; много файлов?

Я использую команду grep для поиска строки во многих файлах. Есть ли что-то похожее на «поиск и замена»?

11
задан 2 February 2012 в 16:52

4 ответа

Сед приходит на ум. Пример:

sed s/cat/dog/ <input >output

Это ищет кошку в строке и помещает собаку на ее место во входном файле и записывает в выходной файл.

0
ответ дан 2 February 2012 в 16:52

sed - правильный инструмент; но, в качестве альтернативы, вы можете даже использовать команды ex в vim:

vim -c 'args <files> | argdo %s/cat/dog/g | x'

, где <files> - список файлов или шаблонов, в которых вы хотите произвести замену. ]

0
ответ дан 2 February 2012 в 16:52

Вы ищете команду sed . Например, чтобы заменить «собаку» на «кошку» во всех текстовых файлах в текущей директории:

0
ответ дан 2 February 2012 в 16:52

Можно использовать Vim в режиме Ex:

for b in *.txt
do
  ex -sc '%s/OLD/NEW/g|x' "$b"
done
  1. % выберите все строки

  2. s замена

  3. g замените все экземпляры в каждой строке

  4. x сохраните и закройтесь

0
ответ дан 2 February 2012 в 16:52

Другие вопросы по тегам:

Похожие вопросы: