在文件/文件夹中查找十六进制值

在文件/文件夹中查找十六进制值

有没有办法在文件/文件夹中搜索十六进制值?我尝试过以下方法:

grep -P "[\x01\x02\x03]"

但这不起作用(没有错误,但它不搜索这些十六进制值)。

答案1

要搜索文件和文件夹,请添加r(递归)选项:

grep -Pr "[\x01\x02\x03]"

答案2

有时,如果您仅使用一个示例,您的内容将不可见。

grep -aPr "[\x01\x02\x03]" *.txt >> matches.txt
grep -aPr "[\x01\x02\x03]" matches.txt >> contents.txt

OR best solution:

grep -aPr "[\x01\x02\x03]" --include=\*.txt --include=\*.html >> writetofile.txt
grep -aPr "[\x01\x02\x03]" writetofile.txt >> allresults.txt

-a 启用递归文件写入。这是我花了整整一个星期才弄清楚的事情。否则,您注定会在每个文件上都匹配,但没有结果。

您必须双倍运行 grep 第二个示例才能从递归写入中删除第一个文件中的文本。

相关内容