Bash

使用 sed 為關鍵字匹配傳遞變數時出錯

  • April 5, 2019

我正在編寫一個用於文本處理的 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"

引用自:https://unix.stackexchange.com/questions/193997