现在是印度的入学时间,我正在尽最大努力考入最好的工程学院。
我有一个 pdf 文件,其中包含一个表格,如下所示
它包含大约 2500 多个条目,我有 3 天的时间。
因此,为了更好地筛选出适合我的大学,我需要将内容与多个正则表达式进行匹配,例如
- 应包含“计算机”或“信息”字词
- 应同时包含 GE 和 FALSE
- 应该匹配正则表达式
[0-9]{5,}
我首先尝试在 中打开它libreoffice calc
,但它在 中打开libreoffice Draw
。我尝试了pdftohtml
和pdftotext
,但两者都弄乱了。
最后我找到了pdfgrep
,但它不能与 grep 结合使用,因为,
pdfgrep regexp1 ./locn to file|grep regexp2|grep regexp3
给出错误
Binary file (standard input) matches
因此我要做的就是将一个正则表达式放入 pdfgrep 中,它将匹配我需要的所有正则表达式。
编辑:你可以下载 pdf这里。
答案1
pdfgrep
适用于页面,而不是行,因此.*
您需要匹配除换行符[^\n]*
之外的任何内容,而不是匹配任何内容,因此请确保匹配同一行。出于某种原因,[\n]
被视为n
(\
被忽略),pdfgrep
因此需要一些技巧。试试这个:
pdfgrep '(Computer|Information)'[^$'\n']'*GE'[^$'\n']*'FALSE'[^$'\n']*'[0-9]{5,}' Closing_Rank_After_Round_III.pdf
在我的系统上,这将返回 82 行:
17 DBLCSE4B Computer Science & Engineering GE FALSE OTHERSTATE 33161
33 DBLITY4B Information Technology GE FALSE OTHERSTATE 38913
74 DHACSE4B Computer Science & Engineering GE FALSE OTHERSTATE 36528
97 DJKCSE4B Computer Science & Engineering GE FALSE OTHERSTATE 22030
108 DJTCSE4B Shri Mata Vaishno Devi University, J&K Computer Science & Engineering GE FALSE OTHERSTATE 41598
112 DMUCOE4B Mizoram University, Aizawl Computer Engineering GE FALSE OTHERSTATE 39759
124 DMUITY4B Mizoram University, Aizawl Information Technology GE FALSE OTHERSTATE 41723
132 DTUCSE4B Tezpur University, Tezpur Computer Science & Engineering GE FALSE OTHERSTATE 36567
161 IAAITY4B Information Technology GE FALSE OTHERSTATE 19303
173 IALITR5M M.Tech Information Technology GE FALSE OTHERSTATE 12723
181 IALITY4B Information Technology GE FALSE OTHERSTATE 10649
187 IGHCSE4B Computer Science & Engineering GE FALSE OTHERSTATE 20054
195 IGWITY4B Information Technology & Management, Information Technology GE FALSE OTHERSTATE 18357
195 IGWITY4B Information Technology & Management, Information Technology GE FALSE OTHERSTATE 18357
200 IJLCSE4B of Information Technology Design & Computer Science & Engineering GE FALSE OTHERSTATE 19427
200 IJLCSE4B of Information Technology Design & Computer Science & Engineering GE FALSE OTHERSTATE 19427
206 IJLECE4B of Information Technology Design & GE FALSE OTHERSTATE 21863
211 IJLMEC4B of Information Technology Design & Mechanical Engineering GE FALSE OTHERSTATE 22433
217 IKOCOE4B Computer Engineering GE FALSE OTHERSTATE 16837
223 IKPCOE4B Design & Manufacturing, Kancheepuram, Computer Engineering GE FALSE OTHERSTATE 14202
247 IVDCOS4B Computer Science GE FALSE OTHERSTATE 18374
252 IVDITY4B Information Technology GE FALSE OTHERSTATE 19973
284 NAGCSE4B National Institute of Technology, Agartala Computer Science & Engineering GE FALSE HOMESTATE 252288
285 NAGCSE4B National Institute of Technology, Agartala Computer Science & Engineering GE FALSE OTHERSTATE 27007
443 NAPCSE4B Computer Science & Engineering GE FALSE HOMESTATE 338141
444 NAPCSE4B Computer Science & Engineering GE FALSE OTHERSTATE 26762
505 NBHCSE4B Computer Science & Engineering GE FALSE HOMESTATE 11495
608 NCACSE4B National Institute of Technology, Calicut Computer Science & Engineering GE FALSE HOMESTATE LD 657523
735 NDUCSE4B National Institute of Technology, Durgapur Computer Science & Engineering GE FALSE HOMESTATE AN 80861
736 NDUCSE4B National Institute of Technology, Durgapur Computer Science & Engineering GE FALSE HOMESTATE WB 19088
737 NDUCSE4B National Institute of Technology, Durgapur Computer Science & Engineering GE FALSE OTHERSTATE 11900
772 NDUITY4B National Institute of Technology, Durgapur Information Technology GE FALSE HOMESTATE AN 95756
773 NDUITY4B National Institute of Technology, Durgapur Information Technology GE FALSE HOMESTATE WB 26872
774 NDUITY4B National Institute of Technology, Durgapur Information Technology GE FALSE OTHERSTATE 16715
811 NGOCSE4B National Institute of Technology, Goa Computer Science & Engineering GE FALSE HOMESTATE 102938
812 NGOCSE4B National Institute of Technology, Goa Computer Science & Engineering GE FALSE OTHERSTATE 13100
862 NHACSE4B National Institute of Technology, Hamirpur Computer Science & Engineering GE FALSE HOMESTATE 34510
863 NHACSE4B National Institute of Technology, Hamirpur Computer Science & Engineering GE FALSE OTHERSTATE 13867
933 NITCSE4B Birla Institute of Technology, Mesra Ranchi Computer Science & Engineering GE FALSE HOMESTATE 10898
955 NITITY4B Birla Institute of Technology, Mesra Ranchi Information Technology GE FALSE HOMESTATE 23647
956 NITITY4B Birla Institute of Technology, Mesra Ranchi Information Technology GE FALSE OTHERSTATE 14055
1080 NJLCSE4B Computer Science & Engineering GE FALSE HOMESTATE 13424
1081 NJLCSE4B Computer Science & Engineering GE FALSE OTHERSTATE 12160
1129 NJLITY4B Information Technology GE FALSE HOMESTATE 20270
1130 NJLITY4B Information Technology GE FALSE OTHERSTATE 14973
1172 NJMCSE4B Computer Science & Engineering GE FALSE HOMESTATE 22151
1173 NJMCSE4B Computer Science & Engineering GE FALSE OTHERSTATE 13379
1280 NKUITY4B Information Technology GE FALSE HOMESTATE 14993
1281 NKUITY4B Information Technology GE FALSE OTHERSTATE 12373
1317 NMGCSE4B National Institute of Technology, Meghalaya Computer Science & Engineering GE FALSE HOMESTATE 66882
1318 NMGCSE4B National Institute of Technology, Meghalaya Computer Science & Engineering GE FALSE OTHERSTATE 30457
1354 NMRCSE4B National Institute of Technology, Manipur Computer Science & Engineering GE FALSE HOMESTATE 335104
1355 NMRCSE4B National Institute of Technology, Manipur Computer Science & Engineering GE FALSE OTHERSTATE 29987
1386 NMZCSE4B National Institute of Technology, Mizoram Computer Science & Engineering GE FALSE HOMESTATE 780732
1387 NMZCSE4B National Institute of Technology, Mizoram Computer Science & Engineering GE FALSE OTHERSTATE 33351
1500 NNGCSE4B National Institute of Technology, Nagaland Computer Science & Engineering GE FALSE OTHERSTATE 32788
1538 NPACSE4B National Institute of Technology, Patna Computer Science & Engineering GE FALSE HOMESTATE 26912
1539 NPACSE4B National Institute of Technology, Patna Computer Science & Engineering GE FALSE OTHERSTATE 17852
1569 NPAITY4B National Institute of Technology, Patna Information Technology GE FALSE HOMESTATE 31050
1570 NPAITY4B National Institute of Technology, Patna Information Technology GE FALSE OTHERSTATE 21633
1588 NPYCSE4B National Institute of Technology, Puducherry Computer Science & Engineering GE FALSE HOMESTATE 212537
1589 NPYCSE4B National Institute of Technology, Puducherry Computer Science & Engineering GE FALSE OTHERSTATE 13738
1655 NRACSE4B National Institute of Technology, Raipur Computer Science & Engineering GE FALSE HOMESTATE 30599
1656 NRACSE4B National Institute of Technology, Raipur Computer Science & Engineering GE FALSE OTHERSTATE 16002
1686 NRAITY4B National Institute of Technology, Raipur Information Technology GE FALSE HOMESTATE 54124
1687 NRAITY4B National Institute of Technology, Raipur Information Technology GE FALSE OTHERSTATE 20012
1746 NROCEC5M National Institute of Technology, Rourkela and M.Tech. Computer Science 5- GE FALSE HOMESTATE 16014
1812 NROCSE4B National Institute of Technology, Rourkela Computer Science & Engineering GE FALSE HOMESTATE 12845
1821 NROCSS5M National Institute of Technology, Rourkela M.Tech. Information Security 5- GE FALSE HOMESTATE 16350
1822 NROCSS5M National Institute of Technology, Rourkela M.Tech. Information Security 5- GE FALSE OTHERSTATE 10803
1986 NSICSE4B National Institute of Technology, Silchar Computer Science & Engineering GE FALSE HOMESTATE 50138
1987 NSICSE4B National Institute of Technology, Silchar Computer Science & Engineering GE FALSE OTHERSTATE 22448
2044 NSKCSE4B National Institute of Technology, Sikkim Computer Science & Engineering GE FALSE HOMESTATE 353234
2045 NSKCSE4B National Institute of Technology, Sikkim Computer Science & Engineering GE FALSE OTHERSTATE 24788
2173 NSRCSE4B National Institution of Technology, Srinagar Computer Science & Engineering GE FALSE HOMESTATE 39818
2174 NSRCSE4B National Institution of Technology, Srinagar Computer Science & Engineering GE FALSE OTHERSTATE 22786
2259 NSTCOE4B Computer Engineering GE FALSE HOMESTATE DD 173213
2260 NSTCOE4B Computer Engineering GE FALSE HOMESTATE GJ 10724
2427 NUDCSE4B Computer Science & Engineering GE FALSE HOMESTATE 46818
2428 NUDCSE4B Computer Science & Engineering GE FALSE OTHERSTATE 18978
2478 NUSITY4B Assam University, Silchar Information Technology GE FALSE HOMESTATE 107749
2479 NUSITY4B Assam University, Silchar Information Technology GE FALSE OTHERSTATE 38122
被$'\n'
称为ANSI C 转义序列。这些是将某些有问题的字符(例如非打印字符和引号)指定给无法以其他方式识别它们的程序的可移植且强大的方法。在这种情况下,我在字符类。当字符类以 开头时^
,表示“匹配任何内容除了此类中的字符。因此,[^$'\n']
表示“匹配除换行符之外的任何字符”。这确保了我们正在寻找的匹配都在同一行上。
答案2
它所说的是流中的某处存在“二进制”:
也许可以尝试:
pdfgrep regexp1 ./locn to file|grep --text regexp2|grep --text regexp3
或者尝试使用strings
:
根据琴弦手册,
For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file. strings is mainly useful for determining the contents of non-text files.
其他值得关注的: