0
我想用文本文件中的sam替換sam_18,但它不會產生正確的結果。shell sed替換文本文件中的特殊字符,但無法替換它
sed -i -e 's/sam_18/sam/g'
它不產生任何輸出。如果它將「_」視爲特殊字符,我有點困惑。 ? 任何幫助感謝
我想用文本文件中的sam替換sam_18,但它不會產生正確的結果。shell sed替換文本文件中的特殊字符,但無法替換它
sed -i -e 's/sam_18/sam/g'
它不產生任何輸出。如果它將「_」視爲特殊字符,我有點困惑。 ? 任何幫助感謝
選項-i
需要一個文件(至少)進行就地取代:
sed -i -e 's/sam_18/sam/g' myfile
如果沒有提供文件,sed
從標準輸入(或輸入管道中讀取)。在這種情況下,您不能使用-i
。那麼你會做這樣的事情:
cat myfile | sed -e 's/sam_18/sam/g' > newfile
使用'-i'等編輯到位文件(假設你給它一個文件名作爲參數)。像**那樣運行**就像在標準輸入中等待數據一樣(鍵入一些行並點擊'ctrl-d'來查看它是否執行某些操作)。 –
使用選項'-i'並且沒有文件名,它應該產生這個輸出:'sed:no input files' – Cyrus
這是哪個平臺? –