Bash 用于括号的awk搜索行,例如[

Bash 用于括号的awk搜索行,例如[,bash,awk,Bash,Awk,所以我需要解析一个文件,只对以“[”开头的行感兴趣 例如下面的一行 [139.797570.657062]来自cache.google.com(143.215.192.243)的64字节:icmp_seq=1 ttl=58 time=3.61 ms 我有一个文件在一行中包含许多这样的行,我想要一个新文件只包含这些行。我正在经历一个bash循环,无法让awk搜索括号,因为它是一个关键字或任何东西。这是我到目前为止所拥有的 while read p; do echo $p | awk '/[/'

所以我需要解析一个文件,只对以“[”开头的行感兴趣 例如下面的一行

[139.797570.657062]来自cache.google.com(143.215.192.243)的64字节:icmp_seq=1 ttl=58 time=3.61 ms

我有一个文件在一行中包含许多这样的行,我想要一个新文件只包含这些行。我正在经历一个bash循环,无法让awk搜索括号,因为它是一个关键字或任何东西。这是我到目前为止所拥有的

while read p; do

echo $p | awk '/[/'

 done < temp.txt 
阅读时执行 回声$p | awk'/[/' 完成
temp.txt
是包含我感兴趣的行的文件

这是一个类似“the”而不是“[”的单词,但我希望能够用awk搜索括号。我希望这足够清楚,谢谢阅读

awk '/\[/' temp.txt > out.txt
必须将
[
转义为
\[
;此外,如果您的行都以
[
开头,最好使用
/^\[/

不需要
循环-awk将逐行读取整个文件

必须将
[
转义为
\[
;此外,如果您的行都以
[
开头,最好使用
/^\[/


不需要
循环-awk将逐行读取整个文件。

@user3371963您可以通过接受答案来感谢他。您可以通过单击答案旁边的复选标记来感谢他。哦,顺便说一句,欢迎使用堆栈溢出。@user3371963您可以通过接受答案来感谢他。您可以通过单击答案旁边的复选标记来感谢他回答。哦,顺便说一句,欢迎使用堆栈溢出。如果你只是像这样搜索,你最好使用grep-
grep'\['重点是学习awk。这就是为什么我没有使用grep。如果你只是像这样搜索,你最好使用grep-
grep'\['重点是学习awk。这就是为什么我没有使用grep。