paste的作用
用于将两个文件进行
文本合并
的工具。它合并的方式比较特殊,比如说两个文件的合并,不是将一个文件搬移到另一个文件的后边,而是将文件并行展出,也就是说,它将一行分为两部分(两列),前一列放第一个文件,后一列放第二个文件。那么合并后的第一行有两列,分别放的两个文件的第一行。可能会有人认为,合并后将两个文件的行数相同的行存放到合并后的同一行中,即两行存放于一行,有可能会造成那一行放不下。
需要注意的是:这里的一行并不是指代在我们的屏幕上显示出的一行,而是指以行分隔符分割出来的一行。举个例子
![](https://i-blog.csdnimg.cn/blog_migrate/3a50753e870ac2a16e20b822cc3bcb42.png)
行分隔符和列分割符(域分隔符)
默认情况下,行分隔符就是 ' \n '。通常情况下,在记录文本时,我们将一行称作一条
记录
。我们可以通过列分隔符将一行分成几个
域
,所以列分隔符又叫做
域分隔符
。列分隔符默认空格或Tab键 ,但是列分隔符是可以自己设定的。所以,以后在进行行列划分处理时,应该考虑行分隔符和裂分隔符。相信有了行分隔符和列分隔符的概念之后,上边的表述就不那么难理解了。
paste的常见选项
-d选项,用于指定域分隔符(列分隔符)
![](https://i-blog.csdnimg.cn/blog_migrate/2a51b4ec42423af206447f290ce12084.png)
在指定分割符的时候,可以指定分割符为除了括号外的其他任意字符,比如数字、字母、*、#等。但是只能指定一个字符,指定多个字符时也只有第一个字符有效,就算用括号括起来也不管用。
![](https://i-blog.csdnimg.cn/blog_migrate/78d0040c6df20e2e5c047b17a096d012.png)
-s选项
将两个文件合并成行,而不是按行粘贴。
![](https://i-blog.csdnimg.cn/blog_migrate/4107f0d38e0d0ad254f8c0b39c51a92a.png)
-选项
paste还有一个很独特的选项,就是 - 。对于每一个 - ,从标准输入中读取一次数据。默认使用空格或者tab做域分隔符,该选项可以定制输出格式。
![](https://i-blog.csdnimg.cn/blog_migrate/4665dab54d4d4f6708ea80a4123c0a8d.png)
右上边图片可以看出,有多少个 - ,每一行就有多少个域(列)。需要注意的是,每一个 - 之间一定要有空格
- 选项也可以与-d选项同时使用
![](https://i-blog.csdnimg.cn/blog_migrate/ad2c7f392e83c70b568027bd2859074e.png)