bash中特定行中的搜索模式

bash中特定行中的搜索模式,bash,grep,Bash,Grep,我想在特定行中查找模式(不区分大小写)。如果我发现了,就做点什么。 我不能使用grep,因为在所有文件中都可以找到。 最好的方法是什么?试试这个,其中2是要搜索模式的行: sed'2!d/模式/I!d'输入 这个sed脚本基本上删除了除第2行之外的所有行,就像2不是第2行;然后在通过该操作的所有行中,这意味着在本例中只有第2行,所有不匹配的模式也被d删除 因此,只有当第2行与模式匹配时,它才剩下,并由sed隐式打印 注意,不区分大小写的标志I不是POSIX,IIRC。试试看。如果它不起作用,您

我想在特定行中查找模式(不区分大小写)。如果我发现了,就做点什么。 我不能使用grep,因为在所有文件中都可以找到。
最好的方法是什么?

试试这个,其中
2
是要搜索
模式的行:

sed'2!d/模式/I!d'输入
这个sed脚本基本上删除了除第2行之外的所有行,就像
2不是第2行;然后在通过该操作的所有行中,这意味着在本例中只有第2行,所有不匹配的
模式
也被
d
删除

因此,只有当第2行与
模式匹配时,它才剩下,并由sed隐式打印

注意,不区分大小写的标志
I
不是POSIX,IIRC。试试看。如果它不起作用,您可以始终使用
[pP][aA][tT][tT][eE][rR][nN]

还要注意,在匹配和不匹配的情况下,此命令都将返回0。如果您需要根据文件是否匹配采取措施,可以这样做

[-n$(sed'2!d;/pattern/I!d'输入)]&&echo-matched | | echo-not-matched
如果模式是一个变量,则可以如下所示包含它:

sed'2!d、 /'“$variable”'/I!d'输入

awk'FNR==64&&/patterrn/{interest}文件
maybe?请根据文件进行编辑。谢谢。对不起,数字行也是一个变量。我尝试了这一点,但不起作用:因为我在“${patrones[@]}”中做了if[-n$(sed“${Line}!d;/”${I}'/I!d“$rutaFich/titles)];然后PintaLog“Encontrado el-patron$i en la linea$Line”退出0其他PintaLog“No Encontrado el-patron$i en la linea$Line”fidone@defekas17首先,我不懂西班牙语,或者其他什么语言;第二,修正引用。你的是错误的:
“${Line}!d;/”${i}'/i!d“
。这是正确的:
“${Line}”!d、 /'“${i}”'/i!d'