显示文件A, B中共有的行, A有B无或A无B有的行
来源:互联网 发布:华泰软件工程有限公司 编辑:程序博客网 时间:2024/05/21 00:48
假设文件A的内容为
a
b
c文件B的内容为
a
b
d
x
1. 显示A和B共有的行
1.1 以文件A的内容为pattern, 搜索文件A和B中哪些行匹配
grep -x -f A B A
结果为
B:a
B:b
A:a
A:b
A:c
1.2 按行的内容排序, 使得内容相同的行显示在一起:
grep -x -f A B A | sort -t: -k2
结果为
A:a
B:a
A:b
B:b
A:c
1.3 显示连续两行行的内容相同的结果, 这些结果将是A, B文件共有的内容:
grep -x -f A B A | sort -t: -k2 | grep -P '([^:]*)\n.*:\1$'
结果为
A:a
B:a
A:b
B:b
1.4 把文件信息过滤掉, 只显示行的内容:
grep -x -f A B A | sort -t: -k2 | grep -P '([^:]*)\n.*:\1$'| sed 's#.*:##g' | uniq
结果为
a
b
2. 显示A有B无的行
以1中的结果为出发点. 只需显示A文件中那些与1中的结果都不匹配的行.
grep -vx -f 结果将是
c
3. 显示A无B有的行
与2中类似,
grep -vx -f
结果将是
d
x
grep的-f 所能处理的正则表达式有多大? 文件中的内容可以是无限制的吗?
从实际操作上看, 不是! 当A的内容有11014行时, 我的测试表明:
在grep能输出第一行内容之前, 它要花大量的时间构造内部的正则表达式.
开始输出匹配行之后, 每输出一个匹配行, 也要花费不少时间, 至少是1秒.
所以, 这并不是一个对大量数据处理仍然友好的方案, 但, 对于小量数据. -f 文件小于1000行的情形, 仍然能工作得相当不错.
a
b
c文件B的内容为
a
b
d
x
1. 显示A和B共有的行
1.1 以文件A的内容为pattern, 搜索文件A和B中哪些行匹配
grep -x -f A B A
结果为
B:a
B:b
A:a
A:b
A:c
1.2 按行的内容排序, 使得内容相同的行显示在一起:
grep -x -f A B A | sort -t: -k2
结果为
A:a
B:a
A:b
B:b
A:c
1.3 显示连续两行行的内容相同的结果, 这些结果将是A, B文件共有的内容:
grep -x -f A B A | sort -t: -k2 | grep -P '([^:]*)\n.*:\1$'
结果为
A:a
B:a
A:b
B:b
1.4 把文件信息过滤掉, 只显示行的内容:
grep -x -f A B A | sort -t: -k2 | grep -P '([^:]*)\n.*:\1$'| sed 's#.*:##g' | uniq
结果为
a
b
2. 显示A有B无的行
以1中的结果为出发点. 只需显示A文件中那些与1中的结果都不匹配的行.
grep -vx -f 结果将是
c
3. 显示A无B有的行
与2中类似,
grep -vx -f
结果将是
d
x
grep的-f 所能处理的正则表达式有多大? 文件中的内容可以是无限制的吗?
从实际操作上看, 不是! 当A的内容有11014行时, 我的测试表明:
在grep能输出第一行内容之前, 它要花大量的时间构造内部的正则表达式.
开始输出匹配行之后, 每输出一个匹配行, 也要花费不少时间, 至少是1秒.
所以, 这并不是一个对大量数据处理仍然友好的方案, 但, 对于小量数据. -f 文件小于1000行的情形, 仍然能工作得相当不错.
- 显示文件A, B中共有的行, A有B无或A无B有的行
- a>b?a:b
- a的b次方(2≤a,b≤100)中共有多少个不同的数?
- 各位大神,求解求解!!小女初接触编程,有多多不解,该程序显示无错误,为什么无论输入a>b还是b>a输出结果均为A>B??
- CCS 调试发现两个无符号short类型a,b; a = ~b, 但a != ~b
- a+b
- a+++b
- A + B
- A+B
- A+B
- {A} + {B}
- a+++b
- A+B
- A-B
- A+B
- A + B
- A|B?
- A+B
- 二进制文件和文本文件读写方法
- 删除所有目录下的文件
- 国外的一些测试网站
- Collection集合框架
- AC自动机
- 显示文件A, B中共有的行, A有B无或A无B有的行
- Lambda表达式
- 六步了解Oracle表空间状态
- 通过反射调类中的private方法
- Aix系统下增加Oracle temp 表空间 (裸设备方式)
- Oracle密码管理五大要点
- IOS设计模式总结
- IE Javascript 进阶调试
- UVALive - 2519 Radar Installation