2017-08-29 4 views
0

シェルツールを使用して最大値で一意の行を取得するにはどうすればよいですか?/path/package_t-CH1のようなパターンで-rをソートし、最初のパターンと一致する他の行を削​​除して一致行の最大値を得るために "uniq"を使いたい場合シェルツールを使用して一意の行とその最大値を取得

ソートのようなもの-r -n "/CH1-pattern.txt" | uniqの結果予想

/path/package_t-CH1-20170828_191558.txt 
/path/package_t-CH1-20170828_194112.txt 
/path/package_f-CH1-20170828_191616.txt 
/path/package_f-CH1-20170828_191216.txt 
/path/package_t-CH1-20170828_192731.txt 

/path/package_t-CH1-20170828_194112.txt 
/path/package_f-CH1-20170828_191616.txt 

答えて

0

あなたが言及したシェルツールは、単一のコマンドでそれを行うことはありません。 perlを使用するか、次のような小さなスクリプトを書くことができます:

packages=`cat list.txt|cut -f1 -d- |sort -u` 
for p in $packages; do grep $p list.txt |sort -r |head -1; done 
+1

yaccありがとう! – user8533951

関連する問題