Linux下paste命令,按列合併檔案,很實用

2021-09-01 01:15:29 字數 1717 閱讀 2633

linux下按列合併檔案

貼上兩個不同**的資料時,首先需將其分類,並確保兩個檔案行數相同。paste將按行將不同檔案行資訊放在一行。預設情況下, paste連線時,用空格或tab鍵分隔新行中不同文字,除非指定-d選項,它將成為域分隔符。

paste格式為:

paste -d -s -file1 file2

選項含義如下:

-d 指定不同於空格或tab鍵的域分隔符。例如用@分隔域,使用- d @。

-s 將每個檔案合併成行而不是按行貼上。

- 使用標準輸入。例如ls -l |paste ,意即只在一列上顯示輸出。

例子:#cat pas1

id897

id666

id982

#cat pas2

p.jones

s.round

l.clip

基本paste命令將pas1和pas2兩檔案貼上成兩列:

# paste pas1 pas2

id897 p.jones

id666 s.round

id982 l.clip

通過交換檔名即可指定哪一列先粘:

# paste pas2 pas1

p.jones id897

s.round id666

l.clip id982

要建立不同於空格或tab鍵的域分隔符,使用-d選項。下面的例子用冒號做域分隔符。

# paste -d: pas2 pas1

p.jones:id897

s.round:id666

l.clip:id982

要合併兩行,而不是按行貼上,可以使用-s選項。下面的例子中,第一行貼上為id號,第二行是名字。

# paste -s pas1 pas2

id897 id666 id982

p.jones s.round l.clip

paste命令還有乙個很有用的選項(-)。意即對每乙個(-),從標準輸入中讀一次資料。使用空格作域分隔符,以乙個6列格式顯示目錄列表。方法如下:

# ls /etc | paste -d" " - - - - - -

manpath path shlib_path snmpagent.d/ timezone x11/

acct/ aliases@ arp@ audeventstab audomon@ auto_master

auto_parms.log auto_parms.log.old backup@ backup.cfg bcheckrc@ bootpd@

bootpquery@ bootptab btmp@ catman@ checklist@ chroot@

clri@ cmcluster/ cmcluster.conf cmom.conf conf@ convertfs@

也可以以一列格式顯示輸出:

# ls /etc | paste -d"" -

manpath

path

shlib_path

snmpagent.d/

timezone

x11/

acct/

aliases@

arp@

audeventstab

audomon@

auto_master

auto_parms.log

auto_parms.log.old

backup@

backup.cfg

Linux下paste命令詳解

paste單詞意思是貼上。該命令主要用來將多個檔案的內容合併,與cut命令完成的功能剛好相反。貼上兩個不同 的資料時,首先需將其分類,並確保兩個檔案行數相同。paste將按行將不同檔案行資訊放在一行。預設情況下,paste連線時,用空格或tab鍵分隔新行中不同文字,除非指定 d選項,它將成為域分隔符...

Linux 命令(43) paste 命令

paste 命令將多個檔案的相應行預設以 tab 分隔符橫向連線起來,輸出到標準輸出。paste 後可接多個檔案,不限於 2 個檔案。如果檔案寫成連字元 表示內容來自標準輸入。paste 相對於 join 來說,簡單許多,不需要有相同的字段也可按行拼接。pasete options files d,...

Linux 字元轉換命令paste

這個 paste 就要比join 簡單多了!相對於 join 必須要比對兩個檔案的資料相關性,paste 就直接 將兩行貼在一起,且中間以 tab 鍵隔開 而已!簡單的使用方法 root www paste d file1 file2 選項與引數 d 後面可以接分隔字元。預設是以 tab 來分隔的!...