2015-10-16 40 views
0

名我已經與以下文件的目錄在它的獨特之處列出的文件 -要基於Unix中

111-xxx-typec_2015-10-13.csv.gz 
111-xxx-typec_2015-10-14.csv.gz 
222-yyy-typec_2015-10-13.csv.gz 
222-yyy-typec_2015-10-14.csv.gz 
333-zzz-typec_2015-10-13.csv.gz 
333-zzz-typec_2015-10-14.csv.gz 
444-ppp-typec_2015-10-13.csv.gz 
444-ppp-typec_2015-10-14.csv.gz 
444-ppp-typec_2015-10-15.csv.gz 

我想看看每種類型的最舊的文件(XXX,YYY,等等)只是,即輸出應該是,

111-xxx-typec_2015-10-13.csv.gz 
222-yyy-typec_2015-10-13.csv.gz 
333-zzz-typec_2015-10-13.csv.gz 
444-ppp-typec_2015-10-13.csv.gz 

有沒有辦法做到這一點?

+0

這些都不是最新的......但最古老的。你是指哪一個? – Jens

+0

@jens抱歉,我更新了描述。 –

回答

1

你可以做的是做一個'ls',通過一個'AWK'腳本來管理它,在那裏你匹配'類型',並在字典中檢查它。如果它在列表中,則忽略,否則打印並添加到列表中。

事情是這樣的NAWK腳本:

{ 
    match($0, /(.*)-typec/, m); 
    if (matches[m[1]] == "") 
    { 
     print ; 
     matches[m[1]] = m[1]; 
    } 
} 
+0

太棒了。非常感謝。 –