在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表示合并成一行
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/4233854.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!