linux 中如何将多行数据转换为一行数据

 

001、paste -s实现

root@PC1:/home/test3# ls
a.txt
root@PC1:/home/test3# cat a.txt
j k u k r k
s k j u e a
f d e u i w
j j k k e f
root@PC1:/home/test3# paste -s a.txt
j k u k r k     s k j u e a     f d e u i w     j j k k e f

 

002、column实现

root@PC1:/home/test3# ls
a.txt
root@PC1:/home/test3# cat a.txt
j k u k r k
s k j u e a
f d e u i w
j j k k e f
root@PC1:/home/test3# cat a.txt | column
j k u k r k     s k j u e a     f d e u i w     j j k k e f

 

003、awk实现

root@PC1:/home/test3# ls
a.txt
root@PC1:/home/test3# cat a.txt
j k u k r k
s k j u e a
f d e u i w
j j k k e f
root@PC1:/home/test3# awk '{printf("%s ", $0)} END {printf("\n")}' a.txt
j k u k r k s k j u e a f d e u i w j j k k e f

 

004、tr实现

root@PC1:/home/test3# ls
a.txt
root@PC1:/home/test3# cat a.txt
j k u k r k
s k j u e a
f d e u i w
j j k k e f
root@PC1:/home/test3# cat a.txt | tr "\n" " " | sed '$ s/.$/\n/'
j k u k r k s k j u e a f d e u i w j j k k e f

 

005、awk实现

root@PC1:/home/test3# ls
a.txt
root@PC1:/home/test3# cat a.txt
j k u k r k
s k j u e a
f d e u i w
j j k k e f
root@PC1:/home/test3# awk 'BEGIN{ORS = " "} {print $0}' a.txt | sed 's/.$/\n/'
j k u k r k s k j u e a f d e u i w j j k k e f

 

posted @ 2022-07-22 23:13  小鲨鱼2018  阅读(430)  评论(0编辑  收藏  举报