我刚刚开始学习 Linux,并且在理解管道方面遇到了问题。我想知道为什么 reversed.txt 是空的?我想先保存未排序的文件,然后传递给反向排序,然后保存到 reversed.txt。我的代码行:
cat file1.txt file2.txt | tee > unsorted.txt | xargs sort -r | xargs cat > reversed.txt
我刚刚开始学习 Linux,并且在理解管道方面遇到了问题。我想知道为什么 reversed.txt 是空的?我想先保存未排序的文件,然后传递给反向排序,然后保存到 reversed.txt。我的代码行:
cat file1.txt file2.txt | tee > unsorted.txt | xargs sort -r | xargs cat > reversed.txt
您的命令有许多问题。
管道将标准输出连接到标准输入。由于您将标准输出重定向
tee
到文件,因此管道其余部分的输入没有任何内容。它应该是xargs
将标准输入转换为给定命令的参数。sort
andcat
命令期望它们的参数是文件名。因此,您要求它在名为原始文件中每一行的文件上运行sort
(然后cat
),而不是在行本身上运行。然而决赛
cat
是多余的,所以你只需要