如果文件foo
包含 9 行,每行都是文件中行的一位数行号(1 到 9),则此命令在屏幕上的输出是什么:
sort foo foo | tail -2 | head -1
答案是9,但我不明白他们是如何得到它的。该sort
命令实际上做了什么?
同样,如果foo
包含 99 行,每行都是文件中行的两位数行号(01 到 99),则此命令的输出应该是什么:
sort -r foo foo | tail -4 | head -1
答案1
如中所述手动的排序“对文本文件的行进行排序”。这显然是一道考验基础知识而不是做任何事的刁钻题。 astail -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 被传递了两次,你可能会认为答案是 8,或者如果你不知道任何命令做了什么,你将无法回答这个问题,只能猜测。