先行番号と末尾の数字が指定されている場合にファイルの出力を見つける方法

先行番号と末尾の数字が指定されている場合にファイルの出力を見つける方法

ファイルfooに9行が含まれていて、各行がファイル行の1桁の行番号(1〜9)の場合、画面にこのコマンドの出力は何ですか?

sort foo foo | tail -2 | head -1

答えは9ですが、どのように得たのか理解できません。このsortコマンドは実際に何をしますか?

同様に、foo99行が含まれていて、各行がファイル行の2桁の行番号(01 - 99)の場合、このコマンドの出力は次のようになります。

sort -r foo foo | tail -4 | head -1

答え1

で述べたように手動「テキストファイルの行の並べ替え」を並べ替えます。これは明らかに他のことをするのではなく、基本的な知識をテストするのは難しい質問です。同じtail -1 foo出力があります。

> echo -e "1\n2\n3\n4\n5\n6\n7\n8\n9" > foo
> sort foo
1
2
3
4
5
6
7
8
9
> sort foo foo
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
> sort foo foo | tail -2
9
9
> sort foo foo | tail -2 | head -1
9

fooが2回渡されたものを見逃すと答えが8だと思うかもしれません。

関連情報