Как отредактировать все файлы, содержащие определенную строку, найденную с помощью grep

grep -ir 'foo' * | awk '{print $1}' | sed -e 's/://' | xargs vim


Команда grep -ir 'foo' * | awk '{print $1}' | sed -e 's/://' | xargs vim выполняет следующие действия:
1. grep -ir 'foo' *: Ищет строку ‘foo’ во всех файлах и подкаталогах текущего каталога (рекурсивно).
2. awk '{print $1}': Извлекает первую колонку из результатов grep, обычно это имена файлов.
3. sed -e 's/://': Удаляет двоеточие, которое может присутствовать в именах файлов.
4. xargs vim: Открывает найденные файлы в текстовом редакторе Vim для редактирования.

Альтернативы: Можно использовать другие текстовые редакторы вместо Vim, заменив «vim» на соответствующую команду.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *