温馨提示×

linux strings怎样过滤结果

小樊
36
2026-09-17 15:29:54
栏目: 智能运维

在 Linux 下,strings 命令用于从二进制文件或数据中抽取可打印字符串。经常需要过滤结果,常见做法有几种:


1. 用 grep 过滤(最常用)

strings file | grep "keyword"

只显示包含 keyword 的字符串。

示例:

strings app | grep "password"

忽略大小写

strings app | grep -i "error"

显示上下文(前后行)

strings app | grep -C 2 "main"

2. 用 grep -E(正则)

strings app | grep -E "version[0-9]+"

3. 用 awk 过滤

比如只显示长度大于 10 的字符串:

strings app | awk 'length($0) > 10'

4. 用 sed 处理/过滤

删除空行或特定内容:

strings app | sed '/^$/d'

5. 限制 strings 自身行为(减少结果)

只提取特定长度的字符串

strings -n 8 file

只显示长度 ≥ 8 的字符串。

指定字符集

strings -e l file   # 16-bit little-endian

6. 实战示例

查找二进制中的 URL:

strings app | grep -E "https?://"

查找版本信息:

strings app | grep -i version

如果你有具体场景(比如过滤日志、分析病毒、提取配置),可以告诉我,我给你更精确的命令。

0