我有一些来自
的输出ps -ef | grep apache
我需要将该输出中的所有空格更改为“@”符号 是否可以使用一些bash脚本? 感谢
答案 0 :(得分:4)
使用tr
:
ps -ef | grep apache | tr ' ' @
答案 1 :(得分:4)
答案 2 :(得分:3)
基本sed命令:
ps -ef | grep apache | sed 's/ /@/g'
sed 's/text/new text/g'
查找“text”并将其替换为“new text”。
如果您想要替换更多字符,例如将所有空格和_
替换为@
:(感谢Adrian Frühwirth):
ps -ef | grep apache | sed 's/[_ ]/@/g'
答案 3 :(得分:1)
如果您使用grep
:
awk
ps -ef | awk '/apache/{gsub(/ /,"@");print}'
答案 4 :(得分:1)
如果您希望仅使用一个@
符号替换多个空格字符,则可以将-s
标记与tr
一起使用:
ps -ef | grep apache | tr -s ' ' '@'
或此sed
解决方案:
ps -ef | grep apache | sed -r 's/ +/@/g'