【发布时间】:2017-09-09 19:10:42
【问题描述】:
我正在尝试通过grep 将输出从find 发送到file -b 命令,而忽略我在正则表达式中定义的特定文件。据我所知,我认为您不能将输出通过管道传输到file。
您知道如何在不使用任何外部文件的情况下做到这一点吗?
我不需要使用 grep 来忽略文件,但我需要使用指定的正则表达式来忽略来自实用程序 file 的文件和输出,所以如果有其他选项我愿意接受。
提前致谢:)
我尝试了什么:
find dir -type f -exec file -b {} \;
这对我有用,但不会忽略任何文件
find dir -type f -exec grep -v 'file.' {} \; -exec file -b {} \;
作为第一个示例工作,但打印出我不需要的文件内容
编辑:我需要忽略文件名和路径,而不是 file 的输出
EDIT2:这是我的文件夹
dir
dir/a
dir/a/b
dir/a/b/c
dir/a/b/c/file
dir/a/b/filec
dir/a/fileb
dir/filea
每个文件都是 ASCII 文本类型,我想要的输出是使用这个正则表达式 'file(a|b)' 来忽略名为 filea 和 fileb 的文件,但不是名为 file 和 filec 的文件,它们不适合在正则表达式中,所以我的命令所需的输出将是
ASCII text
ASCII text
【问题讨论】: