在平常的做业务需求时会遇到这样一种情况,有两份文件A和B,存的是用户账号,需要在A文件中剔除B文件中已存在的账号,这种情况下应该如何处理呢?
一般这种情况下会选择采用脚本语言处理,比如shell或者python。接下来介绍两种语言的解决方法:
例:
文本A:
aaa
bbb
ccc
111
222
文本B:
bbb
ccc
111
1.采用awk
$awk 'NR==FNR{ a[$1]=$1 } NR>FNR{ if(a[$1] == ""){ print $1}}' B A
结果:
aaa
222
2.采用python
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
src = []
screen_data = []
dest_data = []
#原数据
for line in open("src.txt"):
src.append(line.strip())
#筛选名单
for line in open("screen_data.txt"):
screen_data.append(line.strip())
#目标数据
for data in src:
if data in screen_data:
print data
print len(dest_data)
#导出到文件
with open("dest_data.txt","w") as f:
for data in dest_data:
f.write(data + '\n')
结果:
aaa
222