延遲檔案的 CreationTruncation
在執行任何命令之前,會建立/截斷使用 w
命令寫入的檔案。
$ sed 'w created-file' < /dev/null && ls created-file && rm created-file
created-file
從標準:
每個 wfile 都應在處理開始之前建立。實現應支援指令碼中至少十個 wfile 引數; 未指定實現支援的實際數字(大於或等於 10)。使用 wfile 引數將導致最初建立該檔案(如果該檔案不存在),或者應替換現有檔案的內容。
BSD sed
提供了 -a
選項,可以延遲建立/截斷檔案,直到用 w
命令寫入檔案。
$ if sed -a 'w created-file' < /dev/null && [ ! -e created-file ]; then
> echo The file was not created
> fi
The file was not created