我有一些输出
ps -ef | grep apache
我需要将该输出中的所有空格更改为“@”符号是否可以为此使用一些 bash 脚本?谢谢
使用tr
:
ps -ef | grep apache | tr ' ' @
基本 sed 命令:
ps -ef | grep apache | sed 's/ /@/g'
sed 's/text/new text/g'
寻找“文本”并将其替换为“新文本”。
如果您想替换更多字符,例如替换所有空格和_
:(@
感谢Adrian Frühwirth):
ps -ef | grep apache | sed 's/[_ ]/@/g'
如果你想用一个@
符号替换多个空格字符,你可以使用-s
flag with tr
:
ps -ef | grep apache | tr -s ' ' '@'
或这个sed
解决方案:
ps -ef | grep apache | sed -r 's/ +/@/g'
grep
如果你使用,你可以跳过额外的awk
:
ps -ef | awk '/apache/{gsub(/ /,"@");print}'