paste是允许您水平合并文件行的命令。它输出由指定为参数的每个文件的顺序对应的行组成的行,并由制表符分隔。
在本教程中,我们将说明如何使用paste命令。
如何使用paste命令
paste是鲜为人知的Linux和Unix命令行实用工具之一。
paste命令的一般语法如下:paste [OPTION].. [FILE]...
如果未提供输入文件,或者将-作为参数,则paste使用标准输入。
假设我们有以下文件:
file1Iron Man
Thor
Captain America
Hulk
Spider Man
file2Black Widow
Captain Marvel
Dark Phoenix
Nebula
在不带选项的情况下调用时,paste将读取作为参数给出的所有文件,并水平合并文件的相应行,并用空格分隔:paste file1 file2Iron ManBlack Widow
ThorCaptain Marvel
Captain AmericaDark Phoenix
HulkNebula
Spider Man
除了将输出显示在屏幕上之外,您还可以使用>,>>运算符将其重定向到文件:paste file1 file2 > file3
如果文件不存在,则会创建该文件。 >运算符将覆盖现有文件,而>>运算符将输出附加到文件。
-d,-delimiters选项允许您指定用作分隔符的字符列表,而不是默认的TAB分隔符。
每个定界符被连续使用。当列表用尽时,paste从第一个定界符重新开始。
要将_(下划线)字符用作分隔符而不是TAB,请输入:paste -d '_' file1 file2Iron 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
该命令将合并给定文件中的所有行,并在单独的行中合并:Iron ManThorCaptain AmericaHulkSpider Man
Black WidowCaptain MarvelDark PhoenixNebula
与-z,--zero-terminated选项一起使用时,paste使用空字符来分隔项目,而不是默认的换行符。当paste与find -print0和xargs -0命令结合使用来处理包含特殊字符的文件名时,此行为很方便。
结论
paste命令用于合并给定文件的相应行。
如果您有任何疑问或反馈,请随时发表评论。