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

find . -exec grep foobar /dev/null {} \; | awk -F: '{print $1}' | xargs vi


Команда «find . -exec grep foobar /dev/null {} \; | awk -f: ‘{print $1}’ | xargs vi» используется для поиска и открытия в текстовом редакторе vi всех файлов, в которых содержится указанная строка «foobar».

Команда начинает с поиска файлов в текущем каталоге «.» с помощью команды «find». Для каждого найденного файла, команда «grep» ищет строку «foobar». «/dev/null» используется для вывода названия файла перед каждой найденной строкой.

Затем команда «awk -f:» используется для разделения вывода на разделитель «:», чтобы получить только названия файлов.

Наконец, команда «xargs vi» используется для открытия найденных файлов в текстовом редакторе vi.

Альтернативой этой команде может быть использование команды «ack» или «ag» вместо «grep», которые обеспечивают более эффективный и быстрый поиск файлов с указанной строкой.

Ответить

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