合并多个文件中的行
命令语法格式
paste [OPTION]… [FILE]…
命令描述
paste向标准输出中写入行,每一输出的行依次对应每个给定文件的行,由TAB字符分隔。如果没有指定FILE或者FILE为’-‘,则从标准输入中读取文件内容。
如果你不理解这个命令的用法,可以先查看「使用示例」部分。
命令支持的选项及含义
需要提供给长选项的参数也需要提供给对应的短选项。
-d, –delimiters=LIST
连续使用LIST中的字符,而不是TAB,来分隔要被合并的行。当LIST中的字符耗尽时,则再次从LIST的第一个字符重新开始。
-s, –serial
一次粘贴一个文件的行,而不是每个文件的一行。
-z, –zero-terminated
使用零字节(ASCII NUL)而不是换行符(ASCII LF)来分隔每个项。即,将输入视为由ASCII NUL分隔的项目,并用ASCII NUL终止输出项目。
这个选项可以和’perl -0’或者’find -print0’和’xargs -0’等等命令结合使用,它们可以可靠地处理任意文件名,甚至包含空格或其他特殊字符。
–help
显示帮助信息并退出。
–version
显示版本信息。
使用示例
下面的这个示例会解释paste命令的作用。我们有如下文件:
1
2
a
b
c
在执行paste num2 let3 num2后,输出如下:
1 a 1 2 b 2
c
从混合标准输入与输入行,执行paste – let3 – < num2命令,输出如下:
1 a 2
b c
连续添加一个空格:
1 2
3 4
选项-s的使用示例:
1 2
a b c
选项-d的使用示例:
1%a_1
2%b_2
%c_
输出如上所示。
相关手册
查看在线手册:http://www.gnu.org/software/coreutils/paste
查看info手册:info ‘(coreutils) paste invocation’
参考文献
- man 1 paste, version GNU coreutils 8.28
更新日志
- 06/23/2018 创建文章