我制作了每周星期三所做的所有备份的副本 每个文件的时间戳未排序,但日期是每个文件的星期三
现在,我需要根据时间戳对每个文件进行排序,例如,如果日期是 5 月 1 日,那么它应该首先显示 5 月 1 日的备份文件,然后应该显示 5 月 8 日的文件
我使用了这个命令,但它当然给我带来了错误
sort $(cat /home/emerg/Wedbackup.txt)
错误是
sort: invalid option -- w
因为我不知道如何使用一个命令的输出作为第二个命令的输入。我需要建议如何去做。
答案1
在这种情况下不需要使用 cat:
sort /home/emerg/Wedbackup.txt
您的示例的问题是您的文件被传递为命令行排序,这不是你想要的。例如,如果这是您的文件:
foo bar
baz qux
wibble wobble
参数如下所示:
sort foo bar baz qux wibble wobble
这不是你想要的。您真正想要的是将文件传递到sort
stdin 上,可以像这样完成:
sort < /home/emerg/Wedbackup.txt
这是更通用的,因为将文件名作为参数是特定于 的sort
,并且不是通用约定。
在排序的情况下,您应该更喜欢将文件名作为参数传递,而不是在标准输入上传递,因为它允许在文件上查找,这可以提高排序效率。
答案2
您应该使用管道,如下所示:
cat /home/emerg/Wedbackup.txt | sort