欢迎来到福编程网,本站提供各种互联网专业知识!
您的位置:网站首页 > 操作系统 > LINUX

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

发布时间:2016-08-29 作者:佚名 来源:互联网
这篇文章主要介绍了Linux下把文件多行合并成一行的多种方法,同时中间用分隔符格开,本文给出了使用paste、tr、xargs、awk、perl、python等不同方式实现方法,需要的朋友可以参考下
将某个目录下的文件合并成一行,中间用冒号(:)作为分隔符

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

相关推荐