在 Linux 中,strings 命令用于從一個或多個文件中提取可打印的字符串。如果你想在一個特定目錄下查找包含某個特定字符串的文件,可以結合使用 find 和 strings 命令。
以下是一個示例命令,用于在特定目錄下查找包含特定字符串的文件:
find /path/to/directory -type f -exec strings {} \; | grep "your_string"
解釋:
/path/to/directory:替換為你想要搜索的目錄路徑。-type f:表示只查找文件(不包括目錄)。-exec strings {} \;:對 find 找到的每個文件執行 strings 命令。grep "your_string":過濾出包含特定字符串的行。如果你希望輸出中包含文件名,可以修改命令如下:
find /path/to/directory -type f -exec sh -c 'strings "$0" | grep -q "your_string" && echo "$0"' {} \;
解釋:
sh -c '...':對每個文件執行一個 shell 命令。strings "$0" | grep -q "your_string":檢查文件中是否包含特定字符串。&& echo "$0":如果找到字符串,則輸出文件名。這樣可以更精確地控制輸出,并確保只有包含特定字符串的文件名被列出。