Linux 合并文件命令用法(linux合并文件的命令)
文章标签:
linux 合并文件
join命令是用来将两个文件(或文本流)中的一列或多列进行匹配合并,输出合并后的结果。
语法:
join [选项] 文件1 文件2
常用选项:
- -a FILENUM :列出文件 1 或 2 中存在,但并不是同时存在的行。
- -e STRING :指定当左侧或右侧没有匹配时该列输出的字符串。
- -i :忽略大小写。
- -t CHAR :指定文件分隔符,默认使用制表符。
示例:
假设有两个文件file1和file2,内容如下:
file1:
1 aaa
2 bbb
3 ccc
5 eee
file2:
1 zzz
2 xxx
3 yyy
4 www
1. 按照第一列合并:
join file1 file2
输出:
1 aaa zzz
2 bbb xxx
3 ccc yyy
可以看到,只有第一列相同的行才被合并了。
2. 按照第二列合并:
join -11 -21 file1 file2
参数-11和-21指定待合并文件的哪一列进行匹配。注意,必须用双破折号。
输出:
aaa 1 zzz
bbb 2 xxx
ccc 3 yyy
3. 列出没有匹配的行:
join -a1 file1 file2
输出:
1 aaa zzz
2 bbb xxx
3 ccc yyy
5 eee
可以看到,文件1中只有一行,而文件2中有4行。由于文件1中没有第四行,因此该行被列出来了。
4. 指定列分隔符:
假设文件file1和file2的分隔符是逗号,可以使用-t选项指定:
join -t, file1 file2
注意,-t后需要紧跟分隔符,不能有空格。