paste 功能说明:paste命令能将文件按照行与行进行合并,中间使用tab分隔。
参数选项:
-d 指定合并的分隔符,默认是TAB。
-s 每个文件占用一行。
默认合并文件。
[root@testdb ~]# cat test1.log
1
2
3
4
5
6
[root@testdb ~]# cat test2.log
aaaaa
bbbbbbb
ccccccccc
eeeeeeeeeee
ggggggggggggg
[root@testdb ~]# paste test1.log test2.log
1 aaaaa
2 bbbbbbb
3 ccccccccc
4
5 eeeeeeeeeee
6 ggggggggggggg
通过-d可以指定分隔符
[root@testdb ~]# paste -d: test1.log test2.log
1:aaaaa
2:bbbbbbb
3:ccccccccc
4:
5:eeeeeeeeeee
6:ggggggggggggg
通过-s合并内容,使其成行
[root@testdb ~]# paste test1.log
1
2
3
4
5
6
[root@testdb ~]# paste -s test1.log
1 2 3 4 5 6
[root@testdb ~]# paste -s test1.log test2.log
1 2 3 4 5 6
aaaaa bbbbbbb ccccccccc eeeeeeeeeee ggggggggggggg
范例:通过脚本把账号密码合并在一行,并且用"="(等于符号)连成一行
[root@testdb ~]# cat passwd.log
stu01
PWD01
stu02
PWD02
stu03
PWD03
stu04
PWD04
stu05
PWD05
方法一:
[root@testdb ~]# paste -sd '=\n' passwd.log
stu01=PWD01
stu02=PWD02
stu03=PWD03
stu04=PWD04
stu05=PWD05
方法二:
[root@testdb ~]# xargs -n 2 < passwd.log |sed 's# #=#g'
stu01=PWD01
stu02=PWD02
stu03=PWD03
stu04=PWD04
stu05=PWD05
方法三:
[root@testdb ~]# sed 'N;s#\n#=#g' passwd.log
stu01=PWD01
stu02=PWD02
stu03=PWD03
stu04=PWD04
stu05=PWD05