linux 中sed命令的标签和跳转功能

 

001、

[root@PC1 test02]# ls
a.txt
[root@PC1 test02]# cat a.txt            ## 测试数据
01
02
03
04
05
06
07
08
09
10
[root@PC1 test02]# sed ':a; N; s/\n/ /; ta' a.txt   ## 将多行数据转换为一行数据
01 02 03 04 05 06 07 08 09 10

 

命令解释: 

sed默认只按行处理,N可以让其读入下一行,再对\n进行替换,这样就可以将两行并做一行。但是怎么将所有行并作一行呢?可以采用sed的跳转功能:a 在代码开始处设置一个标记a在代码执行到结尾处时利用跳转命令t a重新跳转到标号a处,重新执行代码,这样就可以递归的将所有行合并成一行

 

 

参考:https://www.cnblogs.com/liujiacai/p/7885136.html 

 

posted @ 2023-07-11 21:13  小鲨鱼2018  阅读(84)  评论(0编辑  收藏  举报