cht電腦資訊gcingcin分享
adm Find login register

不改變原排序,刪除重複行

本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
1subject: 不改變原排序,刪除重複行Promote 1 Bookmark 02008-05-04quote  

由於 gcin2tab 從 1.3.2 開始不支援刪除重複定義的 cin 檔,所以在此提供一些方法來刪除 cin 檔中重複的定義。

awk 版:

cat A.cin B.cin | awk '{if(!seen[$0]++) {print $0;}}' > new.cin

perl 版:

cat A.cin B.cin | perl -lne 'print unless $seen{$_}++' > new.cin

其他語言的呢?請接龍。大笑


edited: 1
savage
joined: 2007-09-28
posted: 60
promoted: 2
bookmarked: 1
火星
2subject: Promote 0 Bookmark 02008-05-04quote  

ruby 版:

ruby -e 'print IO.readlines("#{$*}").uniq' your.cin

ruby 的 uniq() 和 Un*x 的 uniq 不一樣,不限於要相鄰兩行的重複,只要是重複行就會刪掉。

edited: 1

cht電腦資訊gcingcin分享
adm Find login register
views:9991