paste命令允許您水平合并文件行。它的輸出由指定為參數的每個文件的順序對應組成的行,并由制表符分隔。
在本教程中,我們將說明如何使用paste命令。包括命令的語法與選項,指定paste命令的分隔符,合并多個文件,單個文件行的合并,使用多個分隔符。
paste命令選項
paste是鮮為人知的Linux和Unix命令行工具之一。paste命令的語法形式是paste [OPTION].. [FILE]...。[OPTION]是paste命令的選項,是一個可選參數。
[FILE]可以零個或者多個文件,如果未提供文件參數,則必須指定參數為-,-表示標準輸入,paste命令從標準輸入中讀取內容。
假設我們有兩個文件file1和file2,file1和file2包含以下內容。
Iron Man
Thor
Captain America
Hulk
Spider Man
Black Widow
Captain Marvel
Dark Phoenix
Nebula
在不指定任何選項運行paste命令時,paste命令將會讀取文件使用空格分隔水平合并文件相對應的行。
除了將合并結果輸出顯示在屏幕上之外,您還可以使用重定向運算符>,>>將其重定向到文件。
如果文件不存在,則會創建文件。>重定向運算符將覆蓋現有文件,而>>重定向運算符將輸出附加到文件。
paste file1 file2
paste file1 file2 > file3
Iron Man Black Widow
Thor Captain Marvel
Captain America Dark Phoenix
Hulk Nebula
Spider Man
-d,-delimiters選項允許您指定一個或者多個分隔符合并文件,而不是使用默認的TAB分隔符。
每個分隔符被連續使用。當指定分隔符參數用盡時,paste從分隔符參數第一個重新開始。
例如,要將_下劃線用作分隔符,請運行命令paste -d '_' file1 file2。命令paste -d '%|' file1 file2 file1指定使用兩個分隔符,分別是%和|。
paste -d '_' file1 file2
Iron Man_Black Widow
Thor_Captain Marvel
Captain America_Dark Phoenix
Hulk_Nebula
Spider Man_
paste -d '%|' file1 file2 file1
第一個和第二個文件中的行用分隔符列表中的第一個分隔符。第二和第三文件的行用第二個分隔符分隔。
如果提供了更多文件,paste命令從分隔符參數的第一個重新開始。
Iron Man%Black Widow|Iron Man
Thor%Captain Marvel|Thor
Captain America%Dark Phoenix|Captain America
Hulk%Nebula|Hulk
Spider Man%|Spider Man
-s,--serial選項指示paste命令將文件內所有行合并為一行,然后在合并指定的文件。
例如命令paste -s file1 file2,首先將file1和file2所有行合并為一行,然后再合并兩個文件。
與-z,--zero-terminated選項一起使用時,paste命令使用空字符來分隔,而不是默認的換行符。
當paste與find -print0和xargs -0命令結合使用來處理包含特殊字符的文件名時,此行為很方便。
paste -s file1 file2
Iron Man Thor Captain America Hulk Spider Man
Black Widow Captain Marvel Dark Phoenix Nebula
結論
paste命令用于合并給定文件的相應行。如果您有任何疑問或反饋,請隨時發表評論。
-
Linux
+關注
關注
88文章
11763瀏覽量
219088 -
命令
+關注
關注
5文章
755瀏覽量
23765
發布評論請先 登錄
[原創]解說Solder Mask 和Paste Mask
solder mask、paste mask、assembly、drill drawing、NC drill簡要說明
【PCB小知識 15】PCB各層含義(特別注明solder層和paste層的區別)
linux運維命令大全
Solder Mask與Paste Mask的區別!
請問在AD中怎么在TOP PASTE層中布線
solder層與paste層的區別概述
USB_G1改成TOP_Paste設定??
PCB各層的含義 (solder paste 區別)
PCB中TOP PASTE和TOP SOLDER的區別_PCB層的含義詳解
如何使用paste命令
評論