sed 替换不起作用(正则表达式)

sed 替换不起作用(正则表达式)

我试图删除公交线路 pdf 文件中意大利语单词“ANDDATA”之前的文本。我正在用这个

pdftotext "file.pdf" - | sed -r "s/^.*ANDATA//g"

但这行不通。它仅删除了“ANDDATA”一词。我也尝试删除所有换行符,然后执行操作

pdftotext "file.pdf" - sed -r "s/\s//g" | sed -r "s/^.*ANDATA//g"

没有换行符,但它仍然不起作用。

我应该怎么办?

编辑2 ANDATA 这个词在文本中出现多次,但我只想删除第一次出现之前的内容。

编辑

输入

PIAZZA OBERDAN - UNIVERSITA' - S.CILINO STR. NUOVA PER OPICINA - OPICINA VILLA CARSIA - CAMPO ROMANO - VILLA CARSIA L’orario è passibile di variazioni per esigenze contingenti TRIESTE TRASPORTI S.p.A. Via dei Lavoratori, 2 Numero Verde: 800-016675 LINEA 4 FERIALE LUNEDI' - VENERDI' ANDATA VILLA CARSIA OPICINA VIA CANTU' PIAZZA OBERDAN PIAZZA TOMMASEO PROSECCO DEVINCINA 5:10 5:15 | 5:35 | | 5:30 5:35 | 5:55 | | 6:00 6:05 | 6:25 | | 6:15 6:20 | 6:40 | | 6:30 6:35 | 6:55 | | 6:45 6:50 | 7:10 | | 6:55 7:00 | 7:20 | | 7:10 7:15 | 7:35 | | 7:20 7:25 | 7:45 | | 7:30 7:35 | 7:55 | | 7:45 7:50 | 8:10 | | 8:00 8:05 | 8:25 | | 8:25 8:30 | 8:50 | | 8:50 8:55 | 9:15 (etc..)

输出(用我的正则表达式)

PIAZZA OBERDAN - UNIVERSITA' - S.CILINO STR. NUOVA PER OPICINA - OPICINA VILLA CARSIA - CAMPO ROMANO - VILLA CARSIA L’orario è passibile di variazioni per esigenze contingenti TRIESTE TRASPORTI S.p.A. Via dei Lavoratori, 2 Numero Verde: 800-016675 LINEA 4 FERIALE LUNEDI' - VENERDI' VILLA CARSIA OPICINA VIA CANTU' PIAZZA OBERDAN PIAZZA TOMMASEO PROSECCO DEVINCINA 5:10 5:15 | 5:35 | | 5:30 5:35 | 5:55 | | 6:00 6:05 | 6:25 | | 6:15 6:20 | 6:40 | | 6:30 6:35 | 6:55 | | 6:45 6:50 | 7:10 | | 6:55 7:00 | 7:20 | | 7:10 7:15 | 7:35 | | 7:20 7:25 | 7:45 | | 7:30 7:35 | 7:55 | | 7:45 7:50 | 8:10 | | 8:00 8:05 | 8:25 | | 8:25 8:30 | 8:50 | | 8:50 8:55 | 9:15 (etc)

编辑3

期望的输出

VILLA CARSIA OPICINA VIA CANTU' PIAZZA OBERDAN PIAZZA TOMMASEO PROSECCO DEVINCINA 5:10 5:15 | 5:35 | | 5:30 5:35 | 5:55 | | 6:00 6:05 | 6:25 | | 6:15 6:20 | 6:40 | | 6:30 6:35 | 6:55 | | 6:45 6:50 | 7:10 | | 6:55 7:00 | 7:20 | | 7:10 7:15 | 7:35 | | 7:20 7:25 | 7:45 | | 7:30 7:35 | 7:55 | | 7:45 7:50 | 8:10 | | 8:00 8:05 | 8:25 | | 8:25 8:30 | 8:50 | | 8:50 8:55 | 9:15 (etc..)

答案1

试试这个命令

pdftotext "file.pdf" -|tr -d '\n'|sed -r 's/^.*ANDATA/ANDATA/'

它将删除 ANDATA 一词之前的文本

相关内容