linux

Linux strings命令如何批量处理文件

小樊
43
2025-04-14 09:31:10
栏目: 智能运维

strings 命令用于从二进制文件中提取可打印的字符串

  1. 打开终端。

  2. 使用 cd 命令导航到包含目标文件的目录。

  3. 使用以下命令格式批量处理文件:

for file in *; do strings "$file" > "${file}_strings.txt"; done

这个命令会遍历当前目录下的所有文件,对每个文件执行 strings 命令,并将结果保存到一个名为 <file>_strings.txt 的新文件中。这里的 <file> 是当前遍历到的文件名。

例如,如果你有一个名为 binary_file1binary_file2 的二进制文件,上述命令会生成两个名为 binary_file1_strings.txtbinary_file2_strings.txt 的文件,其中包含提取的可打印字符串。

注意:这个命令仅适用于当前目录下的文件。如果你需要递归地处理子目录中的文件,可以使用以下命令:

for file in **/*; do strings "$file" > "${file}_strings.txt"; done

在某些系统上,你可能需要使用 find 命令结合 -exec 选项来实现递归处理:

find . -type f -exec sh -c 'strings "$0" > "${0}_strings.txt"' {} \;

这个命令会在当前目录及其子目录中查找所有文件(-type f),然后对每个找到的文件执行 strings 命令,并将结果保存到一个名为 <file>_strings.txt 的新文件中。

0
看了该问题的人还看了