linux常备工具之paste

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/daguanjia11/article/details/83088165

paste命令和cut命令的效果正好相反,paste是用来合并行的,常用来合并多个文件到一个文件,合并多行到一行等。下面来看几个简单的例子

示例1:合并多个文件

假设有两个文件,分别是id.txt和name.txt,内容如下:

$ cat id.txt 
1
2
3
4
5
$ cat name.txt 
lucy
tom
tony
fred
john

使用paste命令来合并两个(或多个)文件,用法是paste file1 file2 ...

$ paste id.txt name.txt 
1	lucy
2	tom
3	tony
4	fred
5	john

使用-d参数来指定分隔符

paste命令默认使用制表符作为分隔符,可以使用paste -dchar file1 file2 ...的形式来指定分隔符

$ paste -d- id.txt name.txt 
1-lucy
2-tom
3-tony
4-fred
5-john

示例2:合并单个文件的多行

paste -s file可以将单个文件的所有行合并到一行

$ paste -s name.txt 
lucy	tom	tony	fred	john

还可以使用-d参数指定分隔符

$ paste -s -d, name.txt 
lucy,tom,tony,fred,john

示例3:在linux管道中具有更多可能

假设当前目录下有两个文件

$ ls
id.txt		name.txt

我希望将两个文件以一个特定的分隔符隔开,就可以使用paste命令

$ ls | paste -s -d, -
id.txt,name.txt

最后一个’-’,表示来自标准输入中的所有行,也就是ls命令的标准输出。

猜你喜欢

转载自blog.csdn.net/daguanjia11/article/details/83088165
今日推荐