[英]Using the awk command in linux terminal to ignore repeats?
因此,我正在開發一個程序,該程序需要使用awk函數掃描具有引起麻煩的格式的文件。
基本上,我遇到的麻煩是我不想重復。 例如,文件如下所示:
abcd
abcde
我逐行搜索字符串“ abcd”,我只希望它給我第一行,而不是兩者。 有什么我可以添加到awk函數中的功能,以便它可以搜索我正在尋找的東西,僅此而已?
如果這個問題愚蠢,我深表歉意,但是我真的找不到解決在線問題的方法,而從我所學到的關於awk的內容來看,我找不到解決問題的方法。
不幸的是,我也根本無法編輯文件。
謝謝您的幫助!
你可以做:
awk '/^abcd$/' file
或者你可以做
awk '$0=="abcd"' file
或者如果它的第二個字段只需要是abcd
而不是abcde
awk '$2=="abcd"' file
所有這些將僅匹配abcd
而不匹配abcde
換一種方式,
awk '/(^| )abcd( |$)/' file
它打印包含字符串abcd
的行,該字符串前面有一個空格或開始模式,然后是一個空格或結束模式。
說明:
(^| )
匹配行的開頭或空格。 abcd
匹配文字abcd
。 ( |$)
匹配空格或行尾。 |
稱為邏輯或運算符。 如果一行與上述圖案匹配,則它將被打印。 您無需指定'{print}'
。 AWK會自動執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.