在 Debian(及一般的 GNU/Linux)语境里,“Debian strings”通常指几类东西,下面按常见场景说明如何“过滤”它们。
如果你是想从 Debian 的二进制文件里提取并过滤字符串,用 strings + grep:
strings /usr/bin/somebinary | grep -i "error"
常用过滤方式:
# 只显示可打印 ASCII 字符串
strings -n 6 binary
# 过滤包含版本号
strings binary | grep -E "[0-9]+\.[0-9]+"
# 过滤 Debian 特有内容
strings binary | grep -i "debian"
.deb 包中的字符串 / 文件内容dpkg-deb -c package.deb
dpkg-deb -x package.deb ./tmp
grep -R "debian" ./tmp
apt-cache search debian
apt-cache show package-name
grep -i "debian" /var/log/dpkg.log
journalctl | grep -i debian
如果是源码里的字符串(如 _("text")):
grep -R '_(' src/
提取可翻译字符串:
xgettext -d app -o app.pot src/*.c
strings binary | \
iconv -f UTF-8 -t UTF-8 -c | \
grep -E '^[A-Za-z0-9 ,.:;!?()-]+$'
如果你能说明:
我可以给你更精确的命令。