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

vim -p `grep -r PATTERN TARGET_DIR | cut -f1 -d: | sort | uniq | xargs echo -n`


Команда vim -p используется для открытия нескольких файлов в Vim в виде отдельных вкладок. В данном случае, команда используется для открытия файлов, содержащих строку «pattern», в указанной директории «target_dir».

Для этого используется цепочка команд:
1. grep -r pattern target_dir — осуществляет поиск строки «pattern» во всех файлах в директории «target_dir» и возвращает результат.
2. cut -f1 -d: — разделяет результат по символу двоеточия (:) и возвращает только первое поле (файлы без пути).
3. sort — сортирует список файлов в алфавитном порядке.
4. uniq — удаляет повторяющиеся значения, оставляя только уникальные файлы.
5. xargs echo -n — передает каждую строку из списка файлов в команду echo -n, которая просто возвращает каждую строку без переноса строки.
6. Результат этой цепочки команд подставляется в качестве аргументов для команды vim -p, что позволяет открыть каждый файл в отдельной вкладке.

Альтернативной командой может быть использование команды grep -r pattern target_dir | cut -f1 -d: | sort | uniq | xargs vim -p, которая позволяет открыть файлы непосредственно в Vim без использования команды echo -n.

Ответить

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