首页 > 解决方案 > 如何在两个字符之间使用 sed 或 grep 值pdf

问题描述

我想使用 sed 或 grep 将 pdf 文件中两个字符之间的值复制并写入文件,但不知道如何执行此操作。我要复制的字符串是例如,nnnn/yyyy nnnn 是可以更改的数值,yyyy 是可以更改的年份值。例子:

23/2019
5014/2020
1117/2015
1/2020

我还需要在“&”和/或“(”之前的行上复制并写入字母数字值。该值被空格破坏。

以下是如何将数据从pdf转换为文本

United States of America    TXCO fuel management

Where 3315 Fredericksburg Rd, San Antonio, TX 78201                             (Pump 7), 
United States
()

3136CACE816877B17EABF2527E712B2D366DF F8C3FD6B1B33B11B733B49A9364 (771) & 7A5261C640D69CAD968B1F1C8CEEFC17D2C73947723A9B462D8ABC10D881F933 

 DD6052F67258F2B789010E834D711192914834CD3688E4260A7B52D2A9 373A75 (5009) & 8E5767F7092BA7E8FC6706EFC7FBC58E3E965F5F608978A484DE0CFF68D13C5E 

(SRIM/74/2020) (via link) 

B251A8C6C649725306C725BCA23E7C211A63 95BDF1747F9F30B43155E3B7A8A8 & 4796F04682E1B30C704AE3A4530FE51D913C5C3181F19418A07259CFDA0E05DD

(OGAR/83/2020) (via link) 

801742B10E6CB8E E31E0FC508B6550D8C7766B42EEFA052D3F678D59DBF99655 & 1D873ED80DC020BC75C1E52B20E9F08E6E6C58F140F74DFD18B726856FD394A8
(IND/3/2020) (via link) 

Upload 11.00990                                               9:00 AM

Upload tr11.09907                                               9:00 AM

Upload jud 11 uur8                                              9:00 AM

Upload loc10 11                                              9:00 AM

File: TCXO 5g aa, TXCO 5g yy, TXCO 5g an8     

Pump inventory &&& management
Fuel
Type
Sale
&&&&&&&&&&&&&&&& .. 
"\*w " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
len()

某些文本行可能在我要复制的文本之前有另一个(文本),但不会有字符串(nnnn/yyyy)。

所以该行有我想忽略的“nnnn”之前的文本,也想忽略第一个“/”,也忽略“)”之后的任何文本基本上我只想复制和写“/”和第一个“ )" 在“/”字符之后

我想我可以安装包pdfgrep,然后使用命令:

find /path -iname '*.pdf' -exec pdfgrep pattern {} +

但我不知道如何设置模式。有没有办法只为这个字符串nnnn/yyyy grep ?

我读到我可以使用 python 将 pdf 转换为文本,但不知道如何做到这一点?

所有考虑、想法或其他赞赏 =)

标签: pythonlinuxgrep

解决方案


推荐阅读