Welcome 微信登录

首页 / 操作系统 / Linux / Linux下把文件多行合并成一行的多种方法

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

复制代码代码如下:
ls lib | sed "s@^@lib/@g" | paste -s -d ":"

2、 tr

复制代码代码如下:
ls lib | sed "s@^@lib/@g" | tr " " ":" | 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=" "};print;}"

5、perl

复制代码代码如下:
ls lib | sed "s@^@lib/@g" | perl -pe "s/ /:/;" | 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