Я ищу терминальный путь. Откройте все файлы в /foo/bar
, содержащие строку foobar
. Как?
Открывает файлы, содержащие foobar
по одному в vim
:
for f in $(find /foo/bar -type f); do
if [ ! -z "$(grep foobar $f)" ]; then
vim $f
fi
done
Вы не сказали, как хотите их открывать:)
Один из способов - использовать grep для рекурсивного поиска строки в ваших файлах (-r). Используйте -l, чтобы попросить grep выводить только имена файлов соответствующих файлов. Это выведет одно имя файла на строку, используйте xargs для построения подходящей командной строки для вашего редактора.
grep -r -l foobar /foo/bar/ | xargs vim
это также работает с Gedit; просто смени vim на gedit.
Вы также можете использовать поиск для этого, но это более сложное ИМХО:
find /foo/bar -type -f -exec grep -l foobar {} \; | xargs vim