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
(-) 意即對每一個-, 表示從標準輸入中讀入一次資料.