web-dev-qa-db-ja.com

複数の個別の表現すべてに一致する正規表現

インドでの入学時期です。私は、最高の大学を目指して頑張っています。

私は次のような表を含むPDFファイルを持っています

enter image description here

約2500以上のエントリがあり、3日間の時間があります。

だから私にとって適切な大学を分類するいくつかのスマートな仕事をするために、私は内容を複数の正規表現に一致させる必要があります。

  1. 「コンピュータ」または「情報」のいずれかの単語を含む必要があります
  2. gEとFALSEの両方を含める必要があります
  3. 正規表現と一致する必要があります[0-9]{5,}

私は最初にそれをlibreoffice calcが開きますがlibreoffice Draw。私はpdftohtmlpdftotextを試しましたが、どちらもひどく混乱しています。

最後に私はpdfgrepに来ましたが、grepと組み合わせて機能しません。

pdfgrep regexp1 ./locn to file|grep regexp2|grep regexp3

エラーを与える

Binary file (standard input) matches

したがって、私がしなければならないことは、pdfgrepに配置する単一の正規表現を使用することです。これは、必要なすべての正規表現に一致します。

編集:PDFをダウンロードできます ここ

2
Registered User

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']は「改行文字以外のすべてに一致」これにより、werが探している一致がすべて同じ行にあることが保証されます。

4
terdon

それが言っているのは、ストリームのどこかに「バイナリ」があるということです。

多分試してください:

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.

また興味深い:

3
jmunsch