在 Linux 中,strings 命令用于從二進制文件中提取可打印的字符串。如果你想使用 strings 命令來查找重復的字符串,可以結合其他工具來實現,比如 sort 和 uniq。以下是一個基本的步驟指南:
提取字符串:首先,使用 strings 命令從一個或多個文件中提取可打印的字符串。
strings filename > strings_output.txt
如果你有多個文件,可以將它們一起列出:
strings file1 file2 file3 > strings_output.txt
排序字符串:接下來,使用 sort 命令對提取出的字符串進行排序。這會將相同的字符串排列在一起,便于查找重復項。
sort strings_output.txt > sorted_strings.txt
查找重復字符串:然后,使用 uniq 命令來查找重復的字符串。uniq 默認會顯示連續的重復行,因此你需要加上 -d 選項來只顯示重復出現的字符串。
uniq -d sorted_strings.txt
(可選)統計重復次數:如果你還想知道每個重復字符串出現了多少次,可以使用 uniq -c 選項。這會在每行前面顯示該字符串出現的次數。
uniq -c sorted_strings.txt
(可選)進一步處理:如果你想對結果進行進一步處理,比如保存到文件或使用管道傳遞給其他命令,可以根據需要添加相應的命令。
這是一個完整的示例流程:
strings myprogram | sort | uniq -d
這個命令序列會從 myprogram 的二進制文件中提取所有可打印字符串,排序后顯示所有重復的字符串。
請注意,strings 命令提取的字符串可能非常多,特別是對于大型二進制文件,因此處理結果可能需要一些時間。根據需要,你可以使用 grep 或其他文本處理工具來進一步過濾或分析結果。