複数のファイルとさまざまなバージョンのファイルがあります。各ファイルで最も高い番号のバージョンを選択するにはどうすればよいですか?

複数のファイルとさまざまなバージョンのファイルがあります。各ファイルで最も高い番号のバージョンを選択するにはどうすればよいですか?

複数のファイルとさまざまなバージョンのファイルがあります。各ファイルで最も高い番号のバージョンを選択するにはどうすればよいですか?

前任者:

ac-1
ac-2
bc-1
bc-2

希望の出力。

 ac-2,bc-2

ベストアンサー1

ファイル名を逆順に並べ替え、各ファイル名の最初の項目を選択できます。

$ cat input                                                                                            
ac-1
ac-2
bc-1
bc-2

$ cat input | sort -r | awk -F '-' '!seen[$1]++' 
bc-2
ac-2

awkコマンドは、「-」を区切り文字として使用し、要素(ac、ac、bc、bc)の最初の列が最初に表示される各行を印刷します。もちろん、これはバージョン番号が常に最初の「-」の後に始まると仮定します。

おすすめ記事