
目前正在 shell 中做一個小實驗。
我的命令如下:
echo 'This a cool butterfly' > test
sed 's/butterfly/parrot/g' test > test
但是當我在測試文件上做一個簡單的貓時,該文件是空的。為什麼?
答案1
您不能同時讀取和寫入檔案。在履歷中,sed 正在讀取您的文件“test”,但您同時正在寫入該文件,因此結果是一個空文件。
嘗試這個:
sed -i 's/butterfly/parrot/g' test
這樣,文件將被就地編輯。