所以我需要解析一个文件,我只对以“[”开头的行感兴趣 例如下面的一行。
[139.797570.657062] 64 bytes from cache.google.com (143.215.192.243): icmp_seq=1 ttl=58 time=3.61 ms
我有一个包含许多这些行的文件,我想要一个只包含这些行的新文件。我正在经历一个bash循环,并且无法获取awk来搜索括号,因为它是一个关键字或者什么。这是我到目前为止所做的。
while read p; do
echo $p | awk '/[/'
done < temp.txt
temp.txt
是包含我感兴趣的行的文件
这个wold使用像“the”这样的单词代替“[”但是我希望能够用awk搜索括号。我希望这很清楚,感谢阅读。
答案 0 :(得分:4)
awk '/\[/' temp.txt > out.txt
必须将[
转义为\[
;另外,如果你的所有开始的行[
,最好使用/^\[/
。
不需要while
循环 - awk将逐行读取整个文件。