Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 查找没有';I don’我没有一个字符串,也没有一个字符串被注释掉了_Bash_Grep - Fatal编程技术网

Bash 查找没有';I don’我没有一个字符串,也没有一个字符串被注释掉了

Bash 查找没有';I don’我没有一个字符串,也没有一个字符串被注释掉了,bash,grep,Bash,Grep,下面是示例文件,我在其中查找没有单词“DEF”或注释掉(如果存在)的文件 cat text.txt_1 ABC DEF GHI cat text.txt_2 ABC #DEF GHI cat text.txt_3 ABC GHI 我正在尝试这样做grep-Lr“DEF”grep-iwr“DEF”grep“^#”但它不起作用 提前谢谢 如果您有gnu grep,请使用: grep -zvlr '^[^#]*DEF' 否则,您可以将awk与find一起使用: find . -type f -

下面是示例文件,我在其中查找没有单词“DEF”或注释掉(如果存在)的文件

cat text.txt_1
ABC
DEF
GHI

cat text.txt_2
ABC
#DEF
GHI

cat text.txt_3
ABC
GHI
我正在尝试这样做
grep-Lr“DEF”grep-iwr“DEF”grep“^#”
但它不起作用


提前谢谢

如果您有
gnu grep
,请使用:

grep -zvlr '^[^#]*DEF'
否则,您可以将
awk
find
一起使用:

find . -type f -name 'text.*' -exec awk '/^[^#]*DEF/{p=1} END{if (!p) print FILENAME}' {} \;

grep“^[^#]*DEF”
的行上有什么东西吗?你能告诉我。。这里如何区分大小写?使用gnu awk,您可以使用:
find-键入f-name'text.*'-exec awk-v IGNORECASE=1'/^[^#]*DEF/{p=1}END{if(!p)print FILENAME}{}\谢谢@anubhava