现在有一个需求,就是将各个行的文本用|分割,然后放到一行
1.txt的内容如下:
zhangsan
lisi
wangwu
需要合并为:
zhangsan|lisi|wangwu
按照之前的思路,就是不断的sed 'N;s/\n/|/' 1.txt
N的意思就是,将下一行合并到当前行,并且将两行用\n隔开。
但这样太麻烦了,后来从网上搜了一下,
从网上搜到一行代码:
sed ':a;N;s/\n/|/;ta' 1.txt
:a 和ta 是一对符号,:a是先做一个标记,然后如果ta之前执行成功,则跳转到:a标识符继续执行,达到了循环的效果。
这样就方便多了。
转载于:https://blog.51cto.com/xiaosu/1319739