Text-Processing

> 和 >> 之間有什麼區別(尤其是與 cat 程序一起使用時)?

  • July 24, 2015

假設我有一個名為temp.txt. 使用該cat程序,我想將此文件的內容添加到–如果它不存在則 myfile.txt創建,如果存在則附加到它的末尾。myfile.txt

我正在考慮這些可能性:

cat temp.txt > myfile.txt

要麼

cat temp.txt >> myfile.txt

這兩個命令似乎都可以按我的意願工作。>所以,我的問題是,和有什麼區別>>?謝謝你的時間。

>寫入文件,覆蓋任何現有內容。>>附加到文件。

來自man bash

重定向輸出

輸出重定向會導致打開其名稱來自 word 擴展的文件,以便在文件描述符 n 上寫入,如果未指定 n,則打開標準輸出(文件描述符 1)。如果文件不存在,則創建它;如果確實存在,則將其截斷為零大小。

重定向輸出的一般格式是:

[n]>word

如果重定向操作符是 >,並且 set 內置命令的 noclobber 選項已啟用,如果名稱由 word 擴展產生的文件存在並且是正常文件,則重定向將失敗。如果重定向操作符是 >|,或者重定向操作符是 > 並且 set 內置命令的 noclobber 選項未啟用,即使 word 命名的文件存在,也會嘗試重定向。

附加重定向輸出

以這種方式重定向輸出會導致打開其名稱來自 word 擴展的文件以附加到文件描述符 n 上,或者如果未指定 n,則打開標準輸出(文件描述符 1)。如果文件不存在,則創建它。

附加輸出的一般格式是:

[n]>>word

引用自:https://unix.stackexchange.com/questions/46974