# paste 命令

`paste` 命令一般用于合并文件内容。

## 命令用法

```bash
$  paste [OPTION]... [FILE]...
```

按顺序从 `FILE` 中读取每一行，以制表符分隔输出到标准输出。

如果没有给定 `FILE` 或者 `FILE` 为 `-`，从标准输入中读取。

## 常用可选参数

| 参数                    | 说明                            |
| --------------------- | ----------------------------- |
| -d, --delimiters=LIST | 用指定的间隔字符 `LIST` 而不是制表符分割每一行内容 |
| -s, --serial          | 同一时间只能处理一个文件（串行处理）而不是并行处理     |
| -z, --zero-terminated | 不使用分隔符（不会产生新的行）               |

## ※ 并行处理和串行处理

简而言之，并行处理是针对文件的行做循环，串行处理是针对文件做循环。

### 并行处理

对于多个文件，并行处理对于每个文件的每一行都“同时处理”，因此对于文件 file1、file2、file3，会输出类似于：

```
file1首行\tfile2首行\tfile3首行
file1第二行\tfile2第二行\tfile3第二行
.....
```

### 串行处理

对于多个文件，串行处理是按文件顺序进行处理，因此对于文件 file1、file2、file3，会输出类似于：

```
file1首行
file1第二行
...
file2首行
file2第二行
...
file3首行
file3第二行
....
```
