awk過濾重複的單詞

2021-06-21 11:27:37 字數 534 閱讀 6434

awk '! a[$0]++' file

這是乙個非常經典的去重複項的awk語句,雖然短小,不過涉及到了不少知識點,下面一一解讀:

<1> :」!」 即非。

<2>:a[$0],以$0為資料下標,建立陣列a

<3>:a[$0]++,即給陣列a賦值,a[$0]+=1

<4> :那麼組合起來,awk是怎麼執行!a[$0]++的呢?我用乙個實際例子來解釋:

cat file

111222

111222

333awk '' file

1 1 0 111

1 1 0 222

1 0 2 0 111

1 0 2 0 222

1 1 0 333

複製**

原來,第乙個a[$0]的值為空,所以!a[$0]++是先作判斷,結果為1(非空為真,即為1),再作陣列賦值a[$0]++。這也就是為什麼前面的!a[$0]++並不一定等於後面的!a[$0]。

awk 『++a[$0]==1』 和上面的**作用一樣,你理解了麼?

重複的單詞題目

此處認為單詞之間以空格為分隔符 1.使用者輸入一句英文句子 2.列印出每個單詞及其重複的次數。使用者輸入一句英文句子 sentence input 請輸入一句英文句子 split sentence sentence.split print split sentence 列印出每個單詞 print l...

awk統計重複列

awk是什麼?awk是乙個優良的文字處理工具,linux及unix環境中現有的功能最強大的資料處理引擎之一。這種程式設計及資料操作語言 其名稱得自于它的創始人阿爾佛雷德 艾侯 彼得 溫伯格和布萊恩 柯林漢姓氏的首個字母 的最大功能取決於乙個人所擁有的知識。awk經過改進生成的新的版本nawk,gaw...

重複字元過濾

題目描述 60分 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。比如字串 abacacde 過濾結果為 abcde 要求實現函式 voidstringfilter const char pinputstr,long lin...