在linux下有時可能需要將多行的值轉成一行。其實現的方法有很多種、筆者將自己曾經用過的方法在些分享。
如有一文本文件5201351.txt,文本的內容如下:
現我們可以通過如下方法將文本內容轉成一行:
[root@5201351 ~]# xargs < 5201351.txt [root@5201351 ~]# cat 5201351.txt |xargs //方法一、通過xargs命令完成 [root@5201351 ~]# a=$(cat 5201351.txt);echo $a //方法二、整個文件讀入一個變量,然后直接打印 [root@5201351 ~]# sed -n '1h;1!H;${g;s/\n/ /g;p;}' 5201351.txt //方法三、使用sed把文件讀入保持空間,到最后一行時,替換換行符為空格符 [root@5201351 ~]# paste -d " " -s < 5201351.txt [root@5201351 ~]# cat 5201351.txt | paste -d " " -s //方法四、使用paste命令格式化打印,-d指定分隔符,-s表示合並成一行