繁体   English   中英

正则表达式egrep发现.gz但不是.tar.gz

[英]Regex egrep finding .gz but NOT .tar.gz

我需要在目录中找到所有.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]正则表达式应该是什么?

你可以用这个:

find . -name "*.gz" ! -name "*.tar.gz" -exec some_other_command -- '{}' '+'
       ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
       I want        I do not want

从grep看后面:

find . | grep -P '(?<!\.tar)\.gz' | xargs some_other_command

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM