在 kornshell 脚本中使用 sed 命令时保留空格
Keep spaces when using sed command in kornshell script
我在使用 sed 命令时遇到了一些问题:
我想用两个单引号替换字符串中的一个单引号
这是我的字符串:
04CA07807800106109XE00187200000081960 NI 0780643442 178'0700
我使用这个 sed 命令来替换单引号:
line=`echo $line | sed "s/'/''/g"`
结果是
04CA07807800106109XE00187200000081960 NI 0780643442 178''0700
如您所见,单引号被两个单引号正确替换了。
但是我丢失了字符串中每个字符之间的所有空格,我真的需要保留它们。
有没有办法用 sed 命令保留这些空格?
我尝试使用 tr 命令得到了相同的结果。
感谢您的帮助。
问题不是 sed 命令而是你未加引号的变量。使用:
line=`echo "$line" | sed "s/'/''/g"`
未加引号的变量导致 word splitting 导致 echo
的多个参数,从而导致单个空格的单词。
我在使用 sed 命令时遇到了一些问题:
我想用两个单引号替换字符串中的一个单引号
这是我的字符串:
04CA07807800106109XE00187200000081960 NI 0780643442 178'0700
我使用这个 sed 命令来替换单引号:
line=`echo $line | sed "s/'/''/g"`
结果是
04CA07807800106109XE00187200000081960 NI 0780643442 178''0700
如您所见,单引号被两个单引号正确替换了。
但是我丢失了字符串中每个字符之间的所有空格,我真的需要保留它们。
有没有办法用 sed 命令保留这些空格?
我尝试使用 tr 命令得到了相同的结果。
感谢您的帮助。
问题不是 sed 命令而是你未加引号的变量。使用:
line=`echo "$line" | sed "s/'/''/g"`
未加引号的变量导致 word splitting 导致 echo
的多个参数,从而导致单个空格的单词。