第一:两个文件的交集,并集
前提条件:每个文件中不得有重复行
1. 取出两个文件的并集(重复的行只保留一份)
2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3. 删除交集,留下其他的行
1. cat file1 file2 | sort | uniq > file3
2. cat file1 file2 | sort | uniq -d > file3
3. cat file1 file2 | sort | uniq -u > file3
(
第一:两个文件的交集,并集
前提条件:每个文件中不得有重复行
1. 取出两个文件的并集(重复的行只保留一份)
2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3. 删除交集,留下其他的行
1. cat file1 file2 | sort | uniq > file3
2. cat file1 file2 | sort | uniq -d > file3
3. cat file1 file2 | sort | uniq -u > file3
(-u unique,仅仅打印独一无二的行)。
-d, --repeated
only print duplicate lines
)
第二:两个文件合并
一个文件在上,一个文件在下
cat file1 file2 > file3
一个文件在左,一个文件在右
paste file1 file2 > file3
第三:一个文件去掉重复的行:
sort file |uniq
注意:重复的多行记为一行,也就是说这些重复的行还在,只是全部省略为一行!
sort file |uniq -u
上面的命令可以把重复的行全部去掉,也就是文件中的非重复行!
具体细节可以查看,cat,sort,uniq等命令的详细介绍
第二:两个文件合并
一个文件在上,一个文件在下
cat file1 file2 > file3
一个文件在左,一个文件在右
paste file1 file2 > file3
(
paste连接时,用空格或tab键分隔新行中不同文本,除非指定-d选项,它将成为域分隔符。
paste格式为:
paste -d -s -file1 file2
选项含义如下:
-d 指定不同于空格或tab键的域分隔符。例如用@分隔域,使用- d @。
-s 将每个文件合并成行而不是按行粘贴。 (
file1:
user1 pwd1
user2 pwd2
file2:
user3 pwd3
user4 pwd4
变成:
use1 pwd1 user2 pwd2
user3 pwd3 user4 pwd4
)
第三:一个文件去掉重复的行:
sort file |uniq
注意:重复的多行记为一行,也就是说这些重复的行还在,只是全部省略为一行!
sort file |uniq -u
上面的命令可以把重复的行全部去掉,也就是文件中的非重复行!
具体细节可以查看,cat,sort,uniq等命令的详细介绍