Я пытаюсь найти способ сканировать папку в моей системе OSX для всех файлов, содержащих определенную строку текста (#SomeTag") в определенной строке (хэштег в первой строке). Просто чтобы уточнить, я ищу текст внутри файла, а не в имени файла.
Я попробовал ag, fzf, а также комбинацию, но не могу заставить ее работать так, как я хочу.
Я хотел бы выполнить поиск в файлах с fzf, в которых есть несколько хэштегов в определенной строке. Например:
#TagOne #TagTwo searchpattern
Это приведет к поиску шаблона поиска только в файлах, в первой строке которых есть #TagOne #TagTwo.
Обновление: До сих пор я придумал это решение, которое работает, но далеко не оптимально, но работает именно так, как я хочу. Скрипт принимает 1-3 аргумента, после нахождения файлов я могу осуществлять полнотекстовый нечеткий поиск по содержимому всех найденных файлов.
#!/bin/sh
if [ "$#" == 1 ]; then
ag -Ril $1 ./Evernote | xargs ag --nobreak --nonumbers --noheading . | fzf
fi
if [ "$#" == 2 ]; then
ag -Ril $1 ./Evernote | xargs ag -il $2 | xargs ag --nobreak --nonumbers --noheading . | fzf
fi
if [ "$#" == 3 ]; then
ag -Ril $1 ./Evernote | xargs ag -il $2 | xargs ag -il $3 | xargs ag --nobreak --nonumbers --noheading . | fzf
fi