hhh*_*hhh 8 bash shell sed environment-variables
是否可以使用SED替换env var中的东西?
$ a='aoeua'
$ sed 's@a@o@g' <$a
bash: aoeua: No such file or directory
$ env|grep "SHELL"
SHELL=/bin/bash
Run Code Online (Sandbox Code Playgroud)
我想要的输出是
ooeuo
Run Code Online (Sandbox Code Playgroud)
代替每个a在'aoeua'与o.
Lau*_*ves 12
使用echo:
$ echo "$a" | sed 's@a@o@g'
Run Code Online (Sandbox Code Playgroud)
在bash中,您还可以使用${parameter/pattern/string}语法进行简单替换.例如:
$ v='aoeua'
$ echo ${v/a/o}
ooeua
Run Code Online (Sandbox Code Playgroud)
请注意,这只会替换第一次出现的模式.
这可能对你有用:
a='aoeua'
sed 's@a@o@g' <<<$a
ooeuo
Run Code Online (Sandbox Code Playgroud)
<<<$a是一个here-string