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/
/ /; 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 "
" " " | sed 's/.$/
/'
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 = "
"; ORS = " "}{print}END{print "
"}' 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("
"," ");print}' a.txt
3 f k i s d g k z v m x e 5 8 y

7、

原文地址:https://www.cnblogs.com/liujiaxin2018/p/15056810.html