3

Linux paste命令合并文件

 1 year ago
source link: https://www.myfreax.com/paste-command-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Linux paste命令合并文件

paste是允许您水平合并文件行的命令。它输出由指定为参数的每个文件的顺序对应的行组成的行,并由制表符分隔

Updated At 10 Nov 2022 3 min read
By myfreax
Linux paste命令合并文件

Linux paste命令合并文件

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
file1
Black Widow
Captain Marvel
Dark Phoenix
Nebula
file2

在不指定任何选项运行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,首先将file1file2所有行合并为一行,然后再合并两个文件。

-z--zero-terminated选项一起使用时,paste命令使用空字符来分隔,而不是默认的换行符。

pastefind -print0xargs -0命令结合使用来处理包含特殊字符的文件名时,此行为很方便。

paste -s file1 file2
Iron Man	Thor	Captain America	Hulk	Spider Man
Black Widow	Captain Marvel	Dark Phoenix	Nebula

paste命令用于合并给定文件的相应行。如果您有任何疑问或反馈,请随时发表评论。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK