如何连接两个txt文件,记录,模糊键? (近似匹配)

时间:2015-05-15 18:35:01

标签: regex join text

我有多个文本文件,包含由标签分隔的多个字段的记录,所有文件都有一个"键"这是模糊的(因为名称可以是拼写问题和拼写错误)。

文件1 :格式:Title \t field1 \t ... fieldn \n Title Original title Year 21 21 2008 21 Jump Street 21 Jump Street 2012 22 Jump Street 22 Jump Street 2014 27 volte in bianco 27 Dresses 2008 Clerks - Commessi Clerks 2006 ...

文件2:格式:Title \t field1 \t ... fieldn \n Title Director 21 Rob 21 Jump Street Lord&Miller 22 Jump Street Lord,Miller 27 volte in bianco Fletcher Clerks: Commessi Smith ...

文件3:格式:Title \t field1 \t ... fieldn \n Title Filename 21 "21.mkv" 21 Jump Street "21 Jump St.avi" 27 volte in bianco "27 Dresses.avi" Clerks - Commessi "Clerks.avi"

文件n:格式:Title \t field1 \t ... fieldn \n Title Descripted in 21 "21.mht" 21 Jump Street "21JS.mht" 22 Jump Street "22.mht" 27 volte in bianco "27dres.mht" Clerks - Commessi "Clerks.mht"

我想创建一个输出,有序地连接所有文件的所有记录(包括不完整和不匹配),使用标题作为键,但允许键之间有一点差异(请参阅职员如何使用而不是文件2中的 - ,理想情况下,匹配时不会发出警告(char by char):

输出:格式field1 \t field2 \t ... fieldn \n Warning Title Original title Year Director Filename Description No 21 21 2008 Rob "21.mkv" "21.mht" No 21 Jump Street 21 Jump Street 2012 Lord&Miller "21 JS.avi" "21JS.mht" No 22 Jump Street 22 Jump Street 2014 Lord,Miller "22.mht" No 27 volte in bianco 27 Dresses 2008 Fletcher "27 Dress.avi" "27dress.mht" Yes Clerks - Commessi Clerks 2006 Smith "clerks.avi" "Clerks.mht"

如何进行模糊匹配并通过警告标记=是? (与文件2中文员的类似但不相同的键)以及如何管理丢失的记录(注意第3条记录(22跳街)在文件3中没有记录,因此所有缺少的字段必须仅用制表符替换( \ t)在输出文件中保留所有记录中正确的列顺序)。 最困难的部分是这两个,至少对我而言。

有什么建议吗?为工作建议的任何工具?

0 个答案:

没有答案