[英]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.