前文介绍的cut命令可以将文本文件纵向分隔,使得原来的文件的某些列重新生成一个新的文件。paste命令与cut命令正好相反,该命令的主要功能是将某些文件的文本行并行地连接在一起,形成一个新的文件。新的文件的列数等于参与组合的所有文件的列的综合,新文件的行数与参与组合的文件的行数相等。
1 paste命令及其语法
paste [option]...[file]
-d:指定拼接结果中列分隔符,默认情况下使用制表符分隔列
-s:将多个文件串行地拼接在一起,即将后面文件的内容追加到前面一个文件的后面。生成文件的列数与参与组合的文件的列数相同,但行数等于参与组合的所有文件的行数之和。
paste命令仅仅是简单地拼接列,并不涉及关键字的比较
paste students.txt phones.txt > contactinfo.txt
2 自定义列分隔符
paste -d "," students.txt phones.txt > contactinfo.txt
3 拼接指定的文本列
先使用cut命令将需要的列从各个文件中提取出来,然后再使用paste命令拼接。
cut -f 1 students.txt > students.tmp
cut -f 2 phones.txt > phones.tmp
paste students.tmp phones.tmp > 7.txt