温馨提示×

如何批量运行linux strings

小樊
47
2026-09-08 11:54:23
栏目: 智能运维

在 Linux 下批量对多个文件运行 strings,常见做法如下:


一、对目录下所有文件批量运行

1️⃣ 直接遍历(推荐)

for f in *; do
    echo "==== $f ===="
    strings "$f"
done

只处理普通文件:

for f in *; do
    [ -f "$f" ] && strings "$f"
done

二、递归子目录(find)

2️⃣ 递归查找并运行

find . -type f -exec strings {} \;

每个文件前加文件名:

find . -type f -exec sh -c 'echo "== $1 =="; strings "$1"' _ {} \;

三、批量输出到文件

3️⃣ 每个文件一个结果文件

for f in *; do
    strings "$f" > "$f.txt"
done

4️⃣ 合并到一个文件

for f in *; do
    echo "==== $f ====" >> all_strings.txt
    strings "$f" >> all_strings.txt
done

四、使用 xargs(大文件更高效)

find . -type f | xargs -I{} sh -c 'echo "== {} =="; strings "{}"'

并行加速(谨慎使用):

find . -type f | xargs -P 4 -I{} strings {}

五、只处理特定类型

find . -type f -name "*.bin" -exec strings {} \;

六、常见实用参数

strings -n 6 file        # 最小长度 6
strings -e l file        # 小端 UTF-16

如果你有具体场景(比如 ELF、固件、内存 dump、上万个文件),可以告诉我,我可以给你更合适的批量方案。

0