我想创建一个连接文件,它附加除目录中的.XYZ之外的所有文件(递归到子目录)。
我尝试了这个,但它不起作用:
find . -type f | grep -v *.XYZ -exec cat {} \; > /tmp/alldata.txt
这样可行,但无法排除以“.XYZ”结尾的文件:
find . -type f -exec cat {} \; > /tmp/alldata.txt
答案 0 :(得分:2)
find . -type f -not -name "*.XYZ" -exec cat {} \; > /tmp/alldata.txt
gnu find
的更新版本包括-not
否定下一个参数。在这种情况下,您可以将其与-name
参数结合使用,以便在不调用grep -v
的情况下获得所需内容。