管道的输出重定向在命令流中重复使用相同文件名的后果

  有时我们在输出重定向中会将结果输出到某一个文件中,如:ps | sort | uniq > data.txt,该语句是将按字母顺序排序 ps 命令的输出,再用 uniq 命令去除名字相同的进程,最后将这些进程输入到 data.txt 中。

  如果在 shell 中敲入了命令如左:cat data.txt | sort | uniq > data.txt,这时你会发现 data.txt 的内容为空,因为相应的输出文件是在命令被创建的同时立刻被创建或写入的,而你在读取文件之前就已经覆盖了这个文件的内容。

 

  

posted @ 2013-08-05 22:42  林锅  阅读(193)  评论(0)    收藏  举报