歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux下paste命令

Linux下paste命令

日期:2017/3/3 12:38:22   编辑:Linux技術

cut用來從文本文件或標准輸出中抽取數據列或者域,然後再用paste可以將這些數據粘貼起來形成相關文件。

粘貼兩個不同來源的數據時,首先需將其分類,並確保兩個文件行數相同。paste將按行將不同文件行信息放在一行。缺省情況下, paste連接時,用空格或tab鍵分隔新行中不同文本,除非指定-d選項,它將成為域分隔符。

paste格式為:

paste -d -s -file1 file2

選項含義如下:

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

-s 將每個文件合並成行而不是按行粘貼。

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

例子:

wangnc> pg pas1

ID897

ID666

ID982

wangnc> pg pas2

P.Jones

S.Round

L.Clip

基本paste命令將pas1和pas2兩文件粘貼成兩列:

wangnc> paste pas1 pas2

ID897 P.Jones

ID666 S.Round

ID982 L.Clip

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

wangnc> paste pas2 pas1

P.Jones ID897

S.Round ID666

L.Clip ID982

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

wangnc> paste -d: pas2 pas1

P.Jones:ID897

S.Round:ID666

L.Clip:ID982

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

wangnc> paste -s pas1 pas2

ID897 ID666 ID982

P.Jones S.Round L.Clip

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

wangnc> 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@

copyright cron@ csh.login d.cshrc@ d.exrc@ d.login@

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

wangnc> 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

Copyright © Linux教程網 All Rights Reserved