我必须从另一个文件中的一个文件中找到一串数字。 我的代码是这样的:
8901040000001304669F 370040000130466
8901040000001317380F 370040000131738
8901040000001330045F 370040000133004
8901040000001330052F 370040000133005
8901040000001330060F 370040000133006
数字字符串位于telephonelist.txt中。该文本文件的格式如下:
981040000030289765F1 655F370D1E86260ED550A2D6F80EFF96 01000045384136453332440303FFFFFFFFFFFFFFFF0000 01000037333643383234380303FFFFFFFFFFFFFFFF0000 083907400030289765 00000031323334FFFFFFFF030334303733323638310AFF 01000034383532FFFFFFFF030334333738333137320AFF 0020 01007F107FD2266C31249530FC531B474F6D44482C007F007F007F007F007F007F007F007F007F007F007F007F007F007F007F107F97AB34277D5378AEC893716281F99ABC007F007F007F007F007F007F007F007F007F007F007F007F007F007F007F107F6608B51E4378BE23072E843D6741A184007F007F007F007F007F007F007F007F007F007F007F007F007F007F 636C8D46973FAE4C1BD181BB4E0D4DA2A5E0455E86406CCF40F309F63470CE07 000003817826FF0187494010083A65626501586519104106 083907400030289765636C8D46973FAE4C1BD181BB4E0D4DA2 080900000000101003636C8D46973FAE4C1BD181BB4E0D4DA2 8901040000038279561 40732681
我正在寻找BC_Tel.inp中由'F'分隔的上述数字的行,其格式如下:
With Sheets(strName).PivotTables(strPvtName).PivotFields("OrderSubType")
.ClearAllFilters
.EnableMultiplePageItems = False
telephonelist.txt和BC_Tel.inp是超过一百万行的大文件。该脚本工作正常,但我想让它更快。我基本上是在txt文件上运行一次,但是我一遍又一遍地在.inp文件上运行。如何更快地完成此过程?
TL;博士 我想优化我的代码,以便它运行得更快。
答案 0 :(得分:1)
单个grep
会执行此操作:
cut -d"F" -f1 telephonelist.txt | grep -F -m1 -f- BC_Tel.inp
grep的-f
选项提供包含模式的文件名。在这里,我们使用文件名-
来表示" stdin"。