shell中文本內容多行變一行的技巧


在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表示合並成一行


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM