linux中sed如何替换换行符 top -p `ps aux | grep "Ali" | egrep -v "grep|PID" | awk -F'[ ]+' '{print $2}'|sed ":a;N;s/\n/,/g;ta" `

top -p `ps aux | grep "Ali" | egrep -v "grep|PID" | awk -F'[ ]+' '{print $2}'|sed ":a;N;s/\n/,/g;ta" `

第一种方法:使用test跳转命令,实现替换换行符

N是把下一行加入到当前的hold space模式空间里,使之进行后续处理,最后sed会默认打印hold space模式空间里的内容。也就是说,sed是可以处理多行数据的。

:a和ta是配套使用,实现跳转功能。t是test测试的意思。

另外,还有:a和ba的配套使用方式,也可以实现跳转功能。b是branch分支的意思。

branch和test区别

est可以根据替换命令的完成是否成功,决定是否跳转。比如sed ":a;N;s/\n//g;ta" a.txt,
posted @ 2022-07-22 09:28  滴滴滴  阅读(305)  评论(0编辑  收藏  举报