![在文件/文件夹中查找十六进制值](https://linux22.com/image/117734/%E5%9C%A8%E6%96%87%E4%BB%B6%2F%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E6%9F%A5%E6%89%BE%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%E5%80%BC.png)
有没有办法在文件/文件夹中搜索十六进制值?我尝试过以下方法:
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 第二个示例才能从递归写入中删除第一个文件中的文本。