Linux常用命令-paste

命令

paste

描述

merge lines of files
按行合并多个文件内容

用法

1
paste [OPTION]... [FILE]...

选项

1
2
3
Options:
-d 指定分隔符,默认为tab
-s 横向合并,按列合并

注意

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
$ more a
a
b
c
d
$ more b
1
2
3

5
# 默认合并为逐行合并
$ paste a b
a 1
b 2
c 3
d
5
# 默认合并使用tab为分隔符
$ paste a b > c
$ cat -t c
a^I1
b^I2
c^I3
d^I
^I5
# -d设置空格为分隔符
$ paste -d" " a b > c
$ cat -t c
a 1
b 2
c 3
d
5
# -s横向合并,即先将文件a的所有行用空格隔开合并显示为1行,文件b同样操作,然后按列合并两个文件内容
$ paste -d" " -s a b > c
$ cat -t c
a b c d
1 2 3 5
# 合并多个文件
$ paste -d" " -s a b c
a b c d
1 2 3 5
a b c d 1 2 3 5
# 转换多行为一行显示,即横向显示列
$ echo -e "a\nb\nc\nd"
a
b
c
d
$ echo -e "a\nb\nc\nd"|paste -d ' ' -s
a b c d
$ echo -e "a\nb\nc\nd"|paste -d, -s
a,b,c,d