我的文件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'脚本内部转义''',但这样做并且不会用双引号替换,你现在必须避免使用反引号。 –