我的文件test.csv
包含记录`Ashish`
。我想全局用单引号'Ashish'
替换它。
我试过这个命令:
sed 's/`/'/g' test.csv
但它不起作用。请指教。
答案 0 :(得分:2)
tr是替换字符的正确工具:
echo '`' | tr \` \'
答案 1 :(得分:1)
尝试在外部使用双引号"
并转义背景。
sed "s/\`/'/g" Test.in > Test.out
此外,如果要更改原始文件,则必须使用-i
标记。
sed -i "s/\`/'/g" Test.in
答案 2 :(得分:0)
您需要转义`
和sed s/\'/\`/g test.csv > out.csv
字符:
SELECT * FROM #a ORDER BY cat,name OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY;
SELECT * FROM #a ORDER BY cat,name OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY
答案 3 :(得分:0)
失败的原因是因为无法在单个带引号的字符串中放置单引号:https://www.gnu.org/software/bash/manual/bashref.html#Single-Quotes
解决方法是:
sed 's/`/'"'"'/g'
's/`/'
)与双引号字符串("'"
)和另一个单引号字符串('/g'
)或sed 's/`/'\''/g'