Linux下把文件多行合并成一行的多种方法


  本文标签:Linux,文件,多行合并成一行

将某个目录下的文件合并成一行,中间用冒号(:)作为分隔符
1、paste

复制代码
代码如下:

ls lib | sed s@^@lib/@g | paste -s -d ":"

2、 tr

复制代码
代码如下:

ls lib | sed s@^@lib/@g | tr "\n" ":" | sed s@:$@@

3、xargs

复制代码
代码如下:

ls lib | sed s@^@lib/@g | xargs | sed s/ /:/g

4、awk

复制代码
代码如下:

ls lib | sed s@^@lib/@g | awk "{if(NR%`ls lib | sed s@^@lib/@g | wc -l`){ORS=\":\"}else{ORS=\"\n\"};print;}"

5、perl

复制代码
代码如下:

ls lib | sed s@^@lib/@g | perl -pe s/\n/:/; | sed s@:$@@

6、python

复制代码
代码如下:

#!/usr/bin/env python
#coding:utf8
import os
def dirList(dir):
filelist = os.listdir(dir)
allfile=[]
for filename in filelist:
allfile.append(dir+/+filename)
return allfile
allfile=dirList(lib)
pathjar=:.join(allfile)
print pathjar