为什么sort -c
输出未被重定向到文件temp.txt
?
如果我删除了-c
,则会重定向,如下所示:
$ cat numericSort
33:Thirty Three:6
11:Eleven:2
45:Forty Five:9
01:Zero One:1
99:Ninety Nine:9
18:Eighteen:01
56:Fifty Six:4
78:Seventy Eight:2
$ sort numericSort > temp.txt
$ cat temp.txt
01:Zero One:1
11:Eleven:2
18:Eighteen:01
33:Thirty Three:6
45:Forty Five:9
56:Fifty Six:4
78:Seventy Eight:2
99:Ninety Nine:9
$ rm temp.txt
$ sort -c numericSort > temp.txt
sort: numericSort:2: disorder: 11:Eleven:2
$ cat temp.txt
# No Output Here
答案 0 :(得分:4)
sort -c
的输出转到stderr
,而不是stdout
。
如果你想改为重定向:
$ sort -c numericSort 2> temp.txt
答案 1 :(得分:3)
基于sort
命令
-c, - check, - check = diagnose-first
check for sorted input; do not sort
检查给定文件是否已经排序:如果不是 所有已排序,打印错误消息并退出状态为1.
所以你的命令sort -c numericSort > temp.txt
基本上只是检查文件numericSort
是否已排序。如果未在STDERR
上排序打印错误,则您看不到temp.txt
的任何输出。可能你想重定向STDERR而不是
sort -c numericSort 2> temp.txt