我正在嘗試使用Perl中的程序刪除重複的條目。說此Perl單線程所需的解釋
File : abc
11
22
11
11
22
33
輸出應該是:
11
22
33
一個Perl one-liner使我的工作容易。但我無法理解它。它是:
cat abc | perl -ne '$H{$_}++ or print'
一些基本的知識,我假定「ABC的輸出是由線傳遞線,他們正在推動它變成一個哈希......但什麼-ne
代表什麼爲什麼他們用++
? ?什麼是or
說法?有什麼解釋?
有沒有一種方法,我可以找到出現的次數也?
11 - 3
22 - 2
33 - 1
一種你最後一個問題oneliner是'貓ABC | perl -ne'$ H {$ _} ++;對於排序鍵%H,END {print「$ _ - $ H {$ _} \ n」; }'' –
@Stefan:這太棒了:) – kailash19
貓的無用用法:-)(在最初的例子和Stefan的評論中) –