sed替换单引号

时间:2021-08-27 17:00:44

echo "Cfoo'barxml" | sed "s/'/::/g" |  sed 's/::/\\:/g' |  sed "s/:/'/g"    替换单引号为 \'

------------------------

sed 替换单引号'

echo "mmm'sss" > test
cat test

把test内容中单引号替换成双引号
sed 's/'"'"/'"''/g' test  ==> sed 's/' " ' " / ' " ' '/g' test
解析下:
's/' => 要进行替换操作,后紧跟匹配字符
"'" => 用双引号包裹着单引号
/   =>分割符
'"'  => 用单引号包裹着双引号
'/g' =>分隔符,全局替换

当然还可以使用下面这两种方法替换:
sed s#\'#\"#g test   最外层使用#分隔,里面使用转义单引号,转义双引号
sed "s/'/\"/g" test    最外层使用双引号,里面使用单引号,转义双引号

echo "mmm'sss"  | sed 's/'"'"/'"''/g'
echo "mmm'sss"  | sed s#\'#\"#g
echo "mmm'sss"  | sed "s/'/\"/g"

awk '{print "sed '\''s/"$1"\\t/"$2"\\t/g'\'' ref_Zv9_top_level.bed.chrom"}' ref_Zv9_top_level.gff3_transID

sed 's/rna10004\t/XR_223343.1\t/g' ref_Zv9_top_level.bed.chrom
sed 's/rna10000\t/XR_223342.1\t/g' ref_Zv9_top_level.bed.chrom

sed 's/\]/\"/g'   替换]为“

sed 's/\[/\"/g'   替换[为“