Linux下paste命令详解
http://blog.csdn.net/andy572633/article/details/7214126
paste單詞意思是粘貼。該命令主要用來將多個文件的內容合并,與cut命令完成的功能剛好相反。
粘貼兩個不同來源的數據時,首先需將其分類,并確保兩個文件行數相同。paste將按行將不同文件行信息放在一行。缺省情況下, paste連接時,用空格或tab鍵分隔新行中不同文本,除非指定-d選項,它將成為域分隔符。
paste格式為:
paste -d -s -file1 file2
選項含義如下:
-d 指定不同于空格或tab鍵的域分隔符。例如用@分隔域,使用- d @。
-s 將每個文件合并成行而不是按行粘貼。
- 使用標準輸入。例如ls -l |paste ,意即只在一列上顯示輸出。(這個參數的解釋是網上找來的,但從后面的例子來看,應該是對輸出的列進行設置。)
例子:
文件: pas1
ID897
ID666
ID982
文件:?pg 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@
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
總結
以上是生活随笔為你收集整理的Linux下paste命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cuda版本的word2vec
- 下一篇: eclipse远程开发