我的 sed 指令發生了什麼事?

我的 sed 指令發生了什麼事?

目前正在 shell 中做一個小實驗。

我的命令如下:

echo 'This a cool butterfly' > test
sed 's/butterfly/parrot/g' test > test

但是當我在測試文件上做一個簡單的貓時,該文件是空的。為什麼?

答案1

您不能同時讀取和寫入檔案。在履歷中,sed 正在讀取您的文件“test”,但您同時正在寫入該文件,因此結果是一個空文件。

嘗試這個:

sed -i 's/butterfly/parrot/g' test 

這樣,文件將被就地編輯。

相關內容