Bash
使用 sed 為關鍵字匹配傳遞變數時出錯
我正在編寫一個用於文本處理的 bash 腳本,其中該命令給了我錯誤:
sed -e "/\<$7\>/ /\<$5\>/$6/" < "$2/$1" > "file.tmp"
這會產生以下錯誤:
> Unrecognized command: /\<key\>/ /\<Hi\>/Hello/
我究竟做錯了什麼?
變數的值與錯誤中的值相同。
" $ 2/ $ 1" 是文件路徑和文件名
讓我看看我是否得到你的問題。如果文件中的行匹配 $ 7, you’d like to replace $ 5 塊錢 6 美元?你在那裡少了一個’s'
sed -e "/\<'$7'\>/s/\<'$5'\>/'$6'/" < "$2/$1" > "file.tmp"