linux 中实现将连续的两行数据转换为一行数据

 

001、sed实现

root@PC1:/home/test2# ls
a.txt
root@PC1:/home/test2# cat a.txt
1 e d
2 a g
3 w e
4 d g
5 g j
6 e j
7 l m
8 i n
root@PC1:/home/test2# sed 'N; s/\n/ /' a.txt
1 e d 2 a g
3 w e 4 d g
5 g j 6 e j
7 l m 8 i n

 

 

002、awk实现

root@PC1:/home/test2# ls
a.txt
root@PC1:/home/test2# cat a.txt
1 e d
2 a g
3 w e
4 d g
5 g j
6 e j
7 l m
8 i n
root@PC1:/home/test2# awk '{if(NR % 2 == 0) {print $0} else {printf("%s ", $0)}}' a.txt
1 e d 2 a g
3 w e 4 d g
5 g j 6 e j
7 l m 8 i n

 

root@PC1:/home/test3# ls
a.txt
root@PC1:/home/test3# cat a.txt
1 e d
2 a g
3 w e
4 d g
5 g j
6 e j
7 l m
8 i n
root@PC1:/home/test3# awk '{if(NR % 2 == 0) {ORS = "\n"} else {ORS = " "} {print}}' a.txt
1 e d 2 a g
3 w e 4 d g
5 g j 6 e j
7 l m 8 i n

 

posted @ 2022-06-20 10:15  小鲨鱼2018  阅读(318)  评论(0编辑  收藏  举报