paste 单词的意思就是贴上, 该命令主要用来将多个档案的内容合并, 与 cut 命令完成的功能刚好相反.
语法:
paste [-ds] -file1 file2
引数:
-d : 指定不同于空格或 tab 键的域分隔符, 例如 @分隔域, 使用-d @;
-s : 将每个档案合并成行而不是按行贴上;
– : 如果 file 部分写成-, 表示来自 standard input 的资料的意思;
<1>合并档案
指定先后顺序合并档案, 如下:
# paste 01.txt 02.txt
1 aa 1 11
2 bb 2 22
3 cc 4 33
# paste 02.txt 01.txt
1 11 1 aa
2 22 2 bb
4 33 3 cc
指定分隔符, 合并档案, 预设以 [tab] 来分隔的, 如下:
# paste -d @ 01.txt 02.txt
1 aa@1 11
2 bb@2 22
3 cc@4 33
<2>将每个档案合并成行, 而不是按行贴上
paste -s 01.txt 02.txt
1 aa 2 bb 3 cc
1 11 2 22 4 33
<3>(-) 选项的妙用
使用空格作域分隔符, 以一个 2 列格式显示档案, 如下:
# cat /etc/passwd | paste -d ” ” – – | head -n 3
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync
(-) 意即对每一个-, 表示从标准输入中读入一次资料.