Answers:
> ~/pipelab.txt
显然属于管道运算符同一侧的命令|
。也就是说,您将grep
输出重定向到文件,而不是将其通过管道传递到sort
:
grep tcp /etc/services | sort > ~/pipelab.txt
您正在尝试将的输出重定向grep
到文件并将其通过管道传输到sort
。您不能那样做,至少不是那样。
相反,您实际上只想将其进行排序:
grep tcp /etc/services | sort
然后您想要将排序后的输出(即,发生排序问题)重定向到文件,因此将重定向放在排序后:
grep tcp /etc/services | sort > ~/pipelab.txt
管道和重定向都通过更改命令输出的位置来工作。您有两个在争夺来自的输出grep
(最终,重定向获胜,并将未排序的输出写入了文件)。
grep tcp /etc/services | sort | head -n 5
。重要的sort
是要在之前完成head
,否则您将无法获得所需的行。