我在運行一個shell 腳本:發現這樣一件事:
cat a.txt | sort > a.txt
并沒有像我向的那樣,對 a.txt 中的檔案排好序,然后重新寫入 a.txt,反而是 a.txt 中為空
我發現這段代碼,這樣寫是能夠達到目的的:
cat a.txt | echo | sort >a.txt
我很好奇其中的原因,但是百度不到,希望大佬幫忙解答
uj5u.com熱心網友回復:
sorry, cat a.txt | echo | sort 好像也不作業uj5u.com熱心網友回復:
不能是同個檔案uj5u.com熱心網友回復:
shell 在決議命令的時候,先初始化 管道,所以 > a.txt 先把檔案清空了,cat 這時就讀不到內容了。所以要改源檔案的時候,不能用管道,
如果用管道,可以用臨時檔案中轉
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/194488.html
標籤:專題技術討論區
上一篇:imsl 的linux平臺庫檔案
