Linux paste命令用于合并文件的列。
paste指令会把每个文件以列对列的方式,一列列地加以合并。
语法
paste [-s][-d <间隔字符>][--help][--version][文件...]
参数:
- -d<间隔字符>或--delimiters=<间隔字符> 用指定的间隔字符取代跳格字符。
- -s或--serial 串列进行而非平行处理。
- --help 在线帮助。
- --version 显示帮助信息。
- [文件…] 指定操作的文件路径
[10:38:09@test]$ cat aa a1 a2 a3 a4 a5 [10:38:19@test]$ cat bb b1 b2 b3 b4 b5 [10:41:43@test]$ cat cc c1 c2 c3 c4 c5 [10:38:21@test]$ paste aa bb #合并两个文件,默认分隔符为tab键或者空格 a1 b1 a2 b2 a3 b3 a4 b4 a5 b5 [10:38:30@test]$ paste bb aa #指定先后合并 b1 a1 b2 a2 b3 a3 b4 a4 b5 a5 [10:38:36@test]$ paste -d@ aa bb #指定分隔符合并 a1@b1 a2@b2 a3@b3 a4@b4 a5@b5 [10:42:02@test]$ paste aa bb cc #可以合并多个文件,但是速度很慢 a1 b1 c1 a2 b2 c2 a3 b3 c3 a4 b4 c4 a5 b5 c5 [10:42:12@test]$ paste -d"@#" aa bb cc #指定多个分割符的情况,会依次排列使用 a1@b1#c1 a2@b2#c2 a3@b3#c3 a4@b4#c4 a5@b5#c5 [10:40:55@test]$ ls #下一种情况,直接从管道符中提取数据 aa bb cc dd ee ff gg [10:40:48@test]$ ls | paste -d" " #默认情况是一行中指含有一个数据 aa bb cc dd ee ff gg [10:41:14@test]$ ls | paste -d" " - - - - #指定每行中含有元素的个数 aa bb cc dd ee ff gg [10:41:22@test]$ ls | paste -s #一行显示参数 aa bb cc dd ee ff gg