linux shell 如何将多列数据变为一行数据

1、测试数据

[root@centos79 test]# cat a.txt
3 f k i
s d g k
z v m x
e 5 8 y

 

2、xargs

[root@centos79 test]# cat a.txt
3 f k i
s d g k
z v m x
e 5 8 y
[root@centos79 test]# cat a.txt | xargs
3 f k i s d g k z v m x e 5 8 y

 

3、sed

[root@centos79 test]# cat a.txt
3 f k i
s d g k
z v m x
e 5 8 y
[root@centos79 test]# sed ':a; N; s/\n/ /; ta' a.txt
3 f k i s d g k z v m x e 5 8 y

 

4、tr

[root@centos79 test]# cat a.txt
3 f k i
s d g k
z v m x
e 5 8 y
[root@centos79 test]# cat a.txt | tr "\n" " " | sed 's/.$/\n/'
3 f k i s d g k z v m x e 5 8 y

 

5、awk

[root@centos79 test]# cat a.txt
3 f k i
s d g k
z v m x
e 5 8 y
[root@centos79 test]# awk '{RS = "\n"; ORS = " "}{print}END{print "\n"}' a.txt | sed 's/.$//'
3 f k i s d g k z v m x e 5 8 y

 

6、awk

[root@centos79 test]# cat a.txt
3 f k i
s d g k
z v m x
e 5 8 y
[root@centos79 test]# awk BEGIN{RS=EOF}'{gsub("\n"," ");print}' a.txt
3 f k i s d g k z v m x e 5 8 y

 

7、

 

posted @ 2021-07-25 00:05  小鲨鱼2018  阅读(586)  评论(0)    收藏  举报