如何在Linux中使用paste命令合并文件
paste
是允许您水平合并文件行的命令。它的输出由指定为参数的每个文件的顺序对应组成的行,并由制表符分隔。在本教程中,我们将说明如何使用paste
命令。包括命令的语法与选项,指定paste
命令的分隔符,合并多个文件,单个文件行的合并,使用多个分隔符。
如何使用paste
命令
paste
是鲜为人知的Linux和Unix命令行工具之一。paste
命令的一般语法如下:
paste [OPTION].. [FILE]...
如果未提供输入文件,或者将-
作为参数,则paste
从标准输入中读取内容。假设我们有以下file1和file2文件,内容如下:
在不带选项的情况下调用时,paste
将读取文件作为参数,并水平合并文件的相对应行,并用空格分隔:
paste file1 file2
Iron Man Black WidowThor Captain Marvel
Captain America Dark Phoenix
Hulk Nebula
Spider Man
除了将输出显示在屏幕上之外,您还可以使用>
,>>
重定向运算符将其重定向到文件:
paste file1 file2 > file3
如果文件不存在,则会创建该文件。 >
重定向运算符将覆盖现有文件,而>>
重定向运算符将输出附加到文件。
-d
,-delimiters
选项允许您指定用作分隔符的字符列表,而不是默认的TAB
分隔符。每个分隔符被连续使用。当分隔符列表用尽时,paste
从分隔符列表第一个重新开始。例如,要将_
下划线字符用作分隔符而不是TAB
,请输入:
paste -d '_' file1 file2
Iron Man_Black WidowThor_Captain Marvel
Captain America_Dark Phoenix
Hulk_Nebula
Spider Man_
以下是使用两个分隔符的示例:
paste -d '%|' file1 file2 file1
第一个和第二个文件中的行用分隔符列表中的第一个字符分隔。第二和第三文件的行用第二个分隔符分隔。如果提供了更多文件,则paste
从列表的开头重新开始。
Iron Man%Black Widow|Iron ManThor%Captain Marvel|Thor
Captain America%Dark Phoenix|Captain America
Hulk%Nebula|Hulk
Spider Man%|Spider Man
-s
,--serial
选项告诉paste
一次显示一个文件的行,而不是每个文件的行。
paste -s file1 file2
该命令将合并指定文件中的所有行,并在单独的行中合并:
Iron Man Thor Captain America Hulk Spider ManBlack Widow Captain Marvel Dark Phoenix Nebula
与-z
,--zero-terminated
选项一起使用时,paste
使用空字符来分隔,而不是默认的换行符。当paste
与find -print0
和xargs -0
命令结合使用来处理包含特殊字符的文件名时,此行为很方便。
结论
paste
命令用于合并给定文件的相应行。如果您有任何疑问或反馈,请随时发表评论。
以上是 如何在Linux中使用paste命令合并文件 的全部内容, 来源链接: utcz.com/z/507407.html