Linux命令比较文件内容
2019-11-01 23:06
1891 查看
文件准备
创建两个文件,分别为a.txt和b.txt,它们所含内容分别为:
a.txt | b.txt |
---|---|
1-wfhune 2-chdamnsbchj 3-uyr92fiubkqw 5-cgvdnsb |
2-djyv 4-dvcahsgdb 5-wvchdfyt |
普通用法,整行对比
命令 | diff a.txt b.txt | grep -f a.txt b.txt | grep -vf a.txt b.txt |
---|---|---|---|
解释 | 比较两个文件 | 取两个文件中都有的行 | 取b文件中有,但a文件中没有的行 |
结果 | 1,4c1,3 < 1-wfhune < 2-chdamnsbchj < 3-uyr92fiubkqw < 5-cgvdnsb --- > 2-djyv > 4-dvcahsgdb |
空 | 2-djyv 4-dvcahsgdb 5-wvchdfyt |
高级用法,每行关键部分对比
回顾一下两个文件中的内容,格式都是 x-yyyy这种格式,我们认为x为键,yyyy为值。现在我们只想比较x,而不关心yyyy。
该怎么办呢?
命令 | grep -vf <(cut -d - -f 1 a.txt) <(cat b.txt) | grep -vf <(awk -F"-" '{print $1}' a.txt) <(cat b.txt) |
---|---|---|
解释 |
<() 用于命令嵌套。 |
这里只是用awk命令替换了cut命令,作用相同。 awk 的 -F参数用于定义分隔符,printf $X 提取分割后的第X段文本。 |
结果 | 4-dvcahsgdb | 4-dvcahsgdb |
相关文章推荐
- linux下文件内容比较命令(diff,comm)
- linux diff与comm命令比较文件(找出新增内容)
- linux命令之diff命令详解(比较文件内容)
- Linux 基础命令——比较两个文件内容的不同
- Linux命令学习(八):比较文件内容的命令
- linux比较文件内容命令
- linux命令:怎么样比较2个文件的内容,然后将内容一致的行输出
- Linux下的操作文件(三、比较文件内容的命令)
- linux tail 命令详解!Linux 文件内容查看工具介绍
- (专题系列)linux下查看文件内容的几种命令
- linux 下查找文件或者内容常有命令
- Linux查找文件内容的常用命令方法
- LINUX入门常用命令之文件内容查看
- Linux下查看文件内容的命令
- linux 下查找文件或者内容常有命令
- linux清空文件内容命令
- Linux查找文件内容的常用命令方法
- linux sort命令参数及用法详解---linux将文本文件内容加以排序命令
- linux 下查找文件或者内容常用命令
- 用Linux命令统计文件内容