我的文件test.csv
包含記錄`Ashish`
。我想全球取代單引號'Ashish'
。UNIX Sed命令用'替換'
我試過這個命令:
sed 's/`/'/g' test.csv
,但它無法正常工作。請指教。
我的文件test.csv
包含記錄`Ashish`
。我想全球取代單引號'Ashish'
。UNIX Sed命令用'替換'
我試過這個命令:
sed 's/`/'/g' test.csv
,但它無法正常工作。請指教。
TR是替換字符正確的工具:
echo '`' | tr \` \'
嘗試在外面使用雙引號"
並逃避背景。
sed "s/\`/'/g" Test.in > Test.out
另外,如果你想改變原來的文件,你必須使用-i
標誌。
sed -i "s/\`/'/g" Test.in
你需要躲避'
和`
字符:
sed s/\'/\`/g test.csv > out.csv
的原因失敗是因爲它是無法在單引號字符串中放置單引號:https://www.gnu.org/software/bash/manual/bashref.html#Single-Quotes
解決方法是這樣的:
sed 's/`/'"'"'/g'
's/`/'
)用雙引號字符串("'"
)和另一個單引號字符串('/g'
),或sed 's/`/'\''/g'
你做的還不止這些 - 您刪除腳本分隔符「,否則你不能在''-delimited'腳本內部轉義''',但這樣做並且不會用雙引號替換,你現在必須避免使用反引號。 –