Linux paste命令
paste
命令用于将多个文本文件合并成一列或多列,连接符可以自定义或使用默认的制表符作为连接符。
命令语法
paste
命令的基本语法如下:
paste [OPTION]... [FILE]...
OPTION
: 可选参数,可参考man
手册来获取帮助信息。FILE
: 要合并的文本文件的路径。
常用选项
-d, --delimiters=LIST
: 指定连接符,多个连接符可以使用逗号分隔。-s, --serial
: 使用串联的方式连接多个文件,而不是平行的方式连接。串联的意思是依次将文件内容合并在一起。-z, --zero-terminated
: 以NULL字符作为行分隔符。
使用示例
示例一:合并多个文件的列
我们在~/test
目录下创建三个文件file1.txt
、file2.txt
和file3.txt
,以cat
命令查看文件内容如下:
cd ~/test
echo "file1 content1" > file1.txt
echo "file1 content2" >> file1.txt
echo "file2 content1" > file2.txt
echo "file2 content2" >> file2.txt
echo "file3 content1" > file3.txt
echo "file3 content2" >> file3.txt
cat file1.txt
cat file2.txt
cat file3.txt
输出:
file1 content1
file1 content2
file2 content1
file2 content2
file3 content1
file3 content2
现在我们使用paste
命令将三个文件的内容按照列的方式合并显示出来:
paste file1.txt file2.txt file3.txt
输出:
file1 content1 file2 content1 file3 content1
file1 content2 file2 content2 file3 content2
默认情况下,paste
命令使用制表符作为连接符。
示例二:指定连接符
与上一个示例类似,我们继续使用file1.txt
、file2.txt
和file3.txt
文件,并且修改file1.txt
文件的第二行,加入一个逗号,内容如下:
cat file1.txt
输出:
file1 content1
file1 content2,
现在我们使用-d
选项来指定逗号作为连接符,将三个文件的内容按照列的方式合并显示出来:
paste -d "," file1.txt file2.txt file3.txt
输出:
file1 content1,file2 content1,file3 content1
file1 content2,,file3 content2
注意到在第二行”file1 content2,”后面有两个逗号,这是因为file1.txt
的第二行加了一个逗号。
以上就是paste
命令的常规用法和两个示例。