複数のファイルから名前をアルファベット順に抽出する方法

複数のファイルから名前をアルファベット順に抽出する方法

私が持っていると言う

ファイル1:

Aaron
Vernon
Troy
Roy

ファイル2:

Jason
Derek
Mariano
Alex

表示したい内容:

File1: Aaron
File2: Alex

これらの両方を実行できる1行のbashコマンドは何ですか?

sortを使用してからtail -1を使用するつもりですが、今回は1つのファイルからのみ抽出できます。

ベストアンサー1

配列ソート機能を内蔵したGNU awkを使用すると、次のことがasortできます。

gawk '
  BEGINFILE{delete a}; 
  {a[FNR]=$0}; 
  ENDFILE{asort(a); print FILENAME": "a[1];}
' File1 File2
File1: Aaron
File2: Alex

必要に応じて1行で書くことができます

gawk 'BEGINFILE{delete a}; {a[FNR]=$0}; ENDFILE{asort(a); print FILENAME": "a[1];}' File1 File2

おすすめ記事