grep
和 strings
命令可以在 Linux 系统中一起使用,以便在文本文件或二进制文件中搜索特定的字符串
假设你有一个名为 example.txt
的文本文件,你想在其中搜索包含 “example” 的行。你可以使用以下命令:
grep "example" example.txt
如果你有一个名为 example.bin
的二进制文件,你想在其中搜索包含 “example” 的字符串。你可以使用 strings
命令将二进制文件中的可打印字符串提取到一个临时文本文件中,然后使用 grep
命令搜索该文本文件。例如:
strings example.bin > temp.txt
grep "example" temp.txt
rm temp.txt
如果你想在多个文件中搜索字符串,可以使用 grep
的 -r
(递归)选项。例如,如果你想在当前目录及其子目录中的所有文本文件中搜索 “example”,可以使用以下命令:
grep -r "example" --include \*.txt
grep
和 strings
命令搜索二进制文件:如果你想在多个二进制文件中搜索字符串,可以将上述方法结合起来。例如,如果你想在当前目录及其子目录中的所有二进制文件中搜索 “example”,可以使用以下命令:
for file in $(find . -type f -iname \*.bin); do
strings "$file" | grep -q "example" && echo "Found in $file"
done
这个命令首先使用 find
命令查找所有扩展名为 .bin
的文件,然后对每个文件执行 strings
和 grep
命令。如果找到匹配项,它将输出包含 “example” 的文件名。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何结合grep使用Linux strings命令