是的,strings
命令可以批量处理多个文件。你可以使用 shell 的通配符(如 *
)或者在一个循环中处理多个文件。以下是两种常见的方法:
假设你想要从一个目录中的所有 .txt
文件中提取字符串,可以使用以下命令:
strings *.txt
这将输出当前目录下所有 .txt
文件中的可打印字符串。
如果你需要更复杂的处理,比如对每个文件执行不同的操作,可以使用 for
循环:
for file in *.txt; do
echo "Processing $file:"
strings "$file"
echo "-----------------------------"
done
这个脚本会遍历当前目录下的所有 .txt
文件,并对每个文件执行 strings
命令,同时在输出中添加一些分隔符以便于阅读。
如果你还想递归地处理子目录中的文件,可以使用 find
命令结合 strings
:
find . -type f -name "*.txt" -exec strings {} \;
这个命令会查找当前目录及其子目录中所有 .txt
文件,并对每个找到的文件执行 strings
命令。
通过这些方法,你可以灵活地批量处理多个文件。