温馨提示×

如何排序linux strings结果

小樊
33
2026-09-20 18:50:22
栏目: 智能运维

在 Linux 中,strings 命令用于从二进制文件(或其他非文本文件)中提取可打印的字符串。它本身不提供排序功能,通常需要配合其他命令(如 sortuniq 等)来对结果进行排序或处理。

下面按常见需求介绍几种排序和处理方式。


1. 基本排序(按字母顺序)

strings file.bin | sort

2. 排序并去重

strings file.bin | sort -u

strings file.bin | sort | uniq

3. 按字符串长度排序

短 → 长

strings file.bin | awk '{ print length, $0 }' | sort -n | cut -d' ' -f2-

长 → 短

strings file.bin | awk '{ print length, $0 }' | sort -nr | cut -d' ' -f2-

4. 按出现次数排序(统计频率)

strings file.bin | sort | uniq -c | sort -nr

输出示例:

  120 main
   85 printf
   30 exit

5. 按文件中的出现顺序“排序”(即不排序)

如果你只是想保持原顺序:

strings file.bin

strings 默认就是按文件中出现的顺序输出。


6. 忽略大小写排序

strings file.bin | sort -f

7. 只提取特定长度以上的字符串再排序

strings -n 6 file.bin | sort -u

-n 6 表示只显示长度 ≥ 6 的字符串)


8. 多个文件一起排序

strings file1.bin file2.bin | sort -u

如果你有具体场景(比如:逆向分析、日志提取、去重统计、按地址排序等),可以告诉我,我可以给你更精确的命令。

0