sed中的:a和ta

如今有一个需求,就是将各个行的文本用|分割,而后放到一行ide

1.txt的内容以下:it

zhangsanclass

lisised

wangwu循环

须要合并为:di

zhangsan|lisi|wangwuview


按照以前的思路,就是不断的sed 'N;s/\n/|/' 1.txtvi

N的意思就是,将下一行合并到当前行,而且将两行用\n隔开。co

但这样太麻烦了,后来从网上搜了一下,editor

从网上搜到一行代码:

sed ':a;N;s/\n/|/;ta' 1.txt


:a 和ta 是一对符号,:a是先作一个标记,而后若是ta以前执行成功,则跳转到:a标识符继续执行,达到了循环的效果。


这样就方便多了。

相关文章
相关标签/搜索