Text-Processing
> 和 >> 之間有什麼區別(尤其是與 cat 程序一起使用時)?
假設我有一個名為
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