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 |