我正在尝试找到一种方法来扫描我的 OSX 系统上的文件夹,以查找在特定行(第一行中的井号标签)中包含特定文本字符串(#SomeTag“)的所有文件。为了澄清,我正在寻找文本在文件中,而不是在文件名中。
我尝试了ag,fzf以及组合,但无法使其按我想要的方式工作。
我想用fzf搜索在特定行中有一些主题标签的文件。例如:
#TagOne #TagTwo searchpattern
这将仅在第一行有 #TagOne #TagTwo 的文件中搜索 searchpattern。
更新: 到目前为止,我想出了这个可行的解决方案,但它远非最佳,但它完全符合我的要求。该脚本在找到文件后接受 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