2014-03-02 54 views
1

所以我需要解析一個文件,並且只對以[[「 」爲例,如下面的行開頭的行感興趣。awk搜索行的括號,例如[

[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是該文件包含我感興趣的行

用像「」,而不是「[」但我希望能夠搜索的支架用這個字工作爾德AWK。我希望這很清楚,謝謝閱讀。

+0

如果你只是這樣搜索,你最好用grep - grep'['<<< $ p''。 – Kevin

+0

它的要點是學習awk。這就是爲什麼我沒有使用grep。 – user3371963

回答

4
awk '/\[/' temp.txt > out.txt 

[必須轉義爲\[;另外,如果您的線路全部開始[,最好使用/^\[/

不需要while loop-awk將逐行讀取整個文件。

+0

工作。沒有while循環。 – user3371963

+1

@ user3371963你可以通過接受答案來感謝他。您可以通過點擊答案旁邊的複選標記來完成。哦,順便說一句,歡迎來到Stack Overflow。 –

+0

@jaypal:謝謝。 – mklement0