strings
是一個 Linux 命令行工具,用于從二進制文件中提取可打印的字符串。如果你想從文件中提取特定格式的字符串,可以使用 grep
命令結合正則表達式來實現。
以下是一個示例,假設你想從一個名為 example.bin
的二進制文件中提取所有符合 http://
開頭的 URL 字符串:
strings example.bin | grep -oP 'http://\S+'
這里的 strings example.bin
會從 example.bin
文件中提取所有可打印的字符串,然后通過管道 |
將這些字符串傳遞給 grep
命令。grep
命令使用 -o
選項僅輸出匹配的部分,-P
選項表示使用 Perl 兼容的正則表達式。正則表達式 'http://\S+'
匹配以 http://
開頭,后面跟隨一個或多個非空白字符的字符串。
如果你想提取其他特定格式的字符串,只需修改正則表達式即可。例如,如果你想提取所有符合 yyyy-mm-dd
格式的日期字符串,可以使用以下命令:
strings example.bin | grep -oP '\d{4}-\d{2}-\d{2}'
這里,正則表達式 '\d{4}-\d{2}-\d{2}'
匹配一個四位數字(年份),后面跟一個短橫線,然后是兩個數字(月份)和另一個短橫線,最后是兩個數字(日期)。