Bash (';)的sed用法
关于将(“)双引号替换为(“)单引号,我对sed的用法有点困惑。我在sed中尝试了很多组合,但不知何故它不允许这种特殊的转换 任何帮助都将不胜感激Bash (';)的sed用法,bash,unix,sed,Bash,Unix,Sed,关于将(“)双引号替换为(“)单引号,我对sed的用法有点困惑。我在sed中尝试了很多组合,但不知何故它不允许这种特殊的转换 任何帮助都将不胜感激 ps:我也对其他替代方法持开放态度,但它在bash(UNIX)中应该可以正常运行。您可以尝试以下方法: [ ~]$ echo "'Hello'"|sed "s/'/\"/g" "Hello" 反之亦然: [ ~]$ echo \"Hello\"|sed "s/\"/'/g" 'Hello' 否则,如果需要,可以使用tr而不是sed: [ ~]$
ps:我也对其他替代方法持开放态度,但它在bash(UNIX)中应该可以正常运行。您可以尝试以下方法:
[ ~]$ echo "'Hello'"|sed "s/'/\"/g"
"Hello"
反之亦然:
[ ~]$ echo \"Hello\"|sed "s/\"/'/g"
'Hello'
否则,如果需要,可以使用tr
而不是sed
:
[ ~]$ echo \"Hello\"|tr "\"" "'"
'Hello'
您可以尝试以下方法:
[ ~]$ echo "'Hello'"|sed "s/'/\"/g"
"Hello"
反之亦然:
[ ~]$ echo \"Hello\"|sed "s/\"/'/g"
'Hello'
否则,如果需要,可以使用tr
而不是sed
:
[ ~]$ echo \"Hello\"|tr "\"" "'"
'Hello'
您可以使用is作为:
s='abc"def"123'
echo "$s"|sed "s/\"/'/g"
abc'def'123
您可以使用is作为:
s='abc"def"123'
echo "$s"|sed "s/\"/'/g"
abc'def'123
要仅替换一个字符,您最好使用
tr
:
$ printf '%s\n' '"Hello"' | tr \" \'
'Hello'
现在,我希望您不是在用它来“清理”一些用户输入…为了只替换一个字符,您不妨使用
tr
:
$ printf '%s\n' '"Hello"' | tr \" \'
'Hello'
现在,我希望您不是在用它来“清理”某些用户输入…这可能对您有用:
sed 'y/'\''/"/' file
这可能适合您:
sed 'y/'\''/"/' file
你尝试了什么组合?我在这里得到了我的答案->…如果它不在sed中,我应该早检查一下…使用
tr
你可以做tr''''''''''''
。你尝试了什么组合?我在这里得到了我的答案->。。。如果不是在sed的话我应该早点检查一下。。。使用tr
可以执行tr'''''''''''
。