find . -type f -regex '.*\.\(cpp\|h\)' -exec grep -Pl "[\x80-\xFF]" {} \; | xargs -I % bash -c 'echo "%"; grep --color='auto' -P -n "[\x80-\xFF]" "%"'
命令用途:在文件夹中的文件中查找非 ascii 字符
管道分解
该命令通过管道(|)将多个命令串联,前一个命令的输出作为后一个命令的输入,逐步处理数据。
- 第 1 步:
find . -type f -regex '.*\.\(cpp\|h\)' -exec grep -Pl "[\x80-\xFF]" {} \;
文件查找工具 — 在指定目录树中递归查找符合条件的文件或目录,支持按名称、类型、大小、时间等多种条件过滤。 - 第 2 步:
xargs -I % bash -c 'echo "%"; grep --color='auto' -P -n "[\x80-\xFF]" "%"'
参数传递工具 — 从标准输入读取数据并将其作为参数传递给指定命令,解决参数列表过长的限制。
完整命令
find . -type f -regex '.*\.\(cpp\|h\)' -exec grep -Pl "[\x80-\xFF]" {} \; | xargs -I % bash -c 'echo "%"; grep --color='auto' -P -n "[\x80-\xFF]" "%"'
评论(0)
发表评论