paste命令用法

 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章