繁体   English   中英

如何在 Linux 中从 grep 命令中排除目录?

[英]How to Exclude Directories from grep command in linux?

我试图从 grep 匹配中排除目录,我尝试使用--exclude-dir=PATTERN方法。 但它不起作用。

ls | grep -E "^Acct" --exclude-dir=Acct

文件结构

Acct/ ---> directory needs to be excluded from grep
AcctReq/ ---> directory needs to be excluded from grep
AcctAdd.txt
AcctInq.txt     
AcctMod.txt       
AcctTrnInq.txt
CardInq.txt
CardHold.txt
Cardacq.txt

在上面的文件中,我正在使用ls | grep -E "^Acct" ls | grep -E "^Acct"命令只获取以Acct开头的文件,但它也在考虑目录。

输出:

Acct/
AcctReq/
AcctAdd.txt
AcctInq.txt     
AcctMod.txt       
AcctTrnInq.txt

预期输出:

AcctAdd.txt
AcctInq.txt     
AcctMod.txt       
AcctTrnInq.txt

--exclude-dir用于在运行递归 grep 时跳过目录。 当您将输入传递给grep时,这是没有意义的,因为没有要跳过的目录或文件名。

如果要从传输到grep的数据中排除匹配项,请使用-v

ls | grep -v 'Acct.*/'

暂无
暂无

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

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