我需要在目录中找到所有.gz
个文件但不 .tar.gz
个文件,然后将所有.gz
个文件发送到some_other_command
进行处理
我可以到目前为止:
find . -regextype egrep -regex '.*/*\.gz$|[NOT .tar.gz]' -exec some_other_command -- '{}' '+'
some_other_command
只需要.gz
个文件而不需要 .tar.gz
。我的[NOT .tar.gz]
正则表达式应该是什么?
答案 0 :(得分:9)
您可以使用:
find . -name "*.gz" ! -name "*.tar.gz" -exec some_other_command -- '{}' '+'
^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
I want I do not want
答案 1 :(得分:1)
来自grep:
的lookbehindfind . | grep -P '(?<!\.tar)\.gz' | xargs some_other_command