paste命令
paste 命令
paste 是linux 命令
從一個或多個檔案中連線行。
語法
paste [ -s ] [ -d List ] File1 ...
預設情況下, paste 命令把每個檔案當作欄,並用制表符水平連線它們(並行合併)。可以把 paste 命令看作為 cat 命令(垂直連線,也就是一個接一個)的相對命令。
使用 -s 標誌, paste 命令合併同一輸入檔案的後繼行(串列合併)。預設情況下,這些行用制表符連線。
註:
1. paste 命令支持最多 32767 個輸入檔案( OPEN_MAX 常量)。
2. pr -t -m 命令的操作類似於 paste 命令的操作,但創建額外空間、制表符和行以使頁面布局好看些。
3. 輸入檔案應該是文本檔案,但也可包含不限長度大小的行。
標誌
-d List 用指定在 List 參數(預設是制表符)中的一個或多個字元來更改分隔輸出中相應行的定界符。如果在 List 參數中有多個字元,那么依次重複使用這些字元,直到輸出結束。在並行合併中,最後檔案的行總是以換行符結束,而不是 List 參數中指定的某個字元。
下列特殊字元也可用在 List 參數中:
\n
換行符
\t
制表符
\\
反斜槓
\0
空字元串(不是空字元)
c
擴展字元
必須用引號將對 shell 有特殊意義的字元引起來。
-s 水平合併第一個檔案的後繼行。使用此標誌, paste 命令在進行下一個檔案的操作之前一直處理整個檔案。當一個檔案的行合併結束時,它強制一個換行然後合併下一個輸入檔案的行。每次一個地以同樣的方式繼續處理餘下的輸入檔案。用制表符分隔行,除非使用了 -d 標誌。不管 List 參數,檔案的最後一個字元強制為換行符。
退出狀態
此命令返回下列出口值:
0 成功完成。
>0 發生錯誤。
示例
1. 要將多個欄的數據貼上到一起,請輸入:
paste names places dates > npd
這樣就創建了名稱為 npd 的檔案,此檔案包含來自於第一欄中名稱為 names 檔案、第二欄中名稱為 places 檔案、第三欄中名稱為 dates 檔案的數據。 如果 names, places, 和 dates 檔案看上去像:
names places dates
rachel New York February 5
jerry Austin March 13
mark Chicago June 21
marsha Boca Raton July 16
scott Seattle November 4
那么 npd 檔案包含:
rachel New York February 5
jerry Austin March 13
mark Chicago June 21
marsha Boca Raton July 16
scott Seattle November 4
在每一行中用制表符隔開 name,place 和 date。這些欄並不總是排成一行,因為制表符停止位每八個欄就設定一下。
2. 要用非制表符隔開欄,請輸入:
paste -d"!@" names places dates > npd
這樣就交替用 ! 和 @ 作為欄分隔設定。如果 names, places 和 dates 檔案和示例 1 中的一樣,那么 npd 檔案包含:
rachel!New York@February 5
jerry!Austin@March 13
mark!Chicago@June 21
marsha!Boca Raton@July 16
scott!Seattle@November 4
3. 要在多個欄中顯示標準輸入,請輸入:
ls | paste - - - -
這樣就在 4 個欄中列出當前目錄。每個 - (減號)讓 paste 命令創建一個包含從標準輸入中讀取的數據的欄。第一行放置在第一欄中,第二行放置在第二欄中,依此類推。
它等同於:
ls | paste -d"\t\t\t\n" -s -
此示例用標準輸入中的後繼行填充跨頁的欄。-d"\t\t\t\n" 定義要插入每一個欄後的字元:制表符( \t )在前面三欄後,換行符( \n )在第四個後。如果沒有 -d 標誌, paste -s - 命令顯示所有輸入為一行,每一欄間有一個制表符。
檔案
/usr/bin/paste 包含 paste 命令。
相關信息
cat 命令、cut 命令、grep 命令、pr 命令。
-----------------------------------------------------------------------------------------------------------------------------------
作業系統基本操作
Paste=貼上
通常在Window NT系列系統中,paste表示貼上;部分Linux發行版支持這一操作
快捷鍵=Ctrl+V
例子
1. 貼上;貼入;插入