【问题标题】:Read pdf on terminal output 2 columns to one在终端输出 2 列到 1 上读取 pdf
【发布时间】:2020-10-30 10:20:11
【问题描述】:

我最近喜欢用更少的命令阅读 pdf。 less file.pdf

想要阅读两栏格式的 pdf 书。 应该有一列可以输出的命令吧?

注意:每页更改为^L

类似 awk 的管道? 不介意使用 vi 或任何其他命令。

格式示例

                                                                9
^LAgradecimientos                                                                                                         Agradecimientos

maciones de la psiquiatría y la ciencia tradicional de Occi-           do al poder contar con la amistad personal de muchos de los
dente.                                                                 pioneros de este nuevo abordaje psicológico. Estas personas
   También debo agradecer el aliento y el apoyo de varios físi-        tan especiales han sido durante muchos años una fuente de ins-

【问题讨论】:

  • 我正在尝试查找类似 pdf2text | 的代码由 ^L | 分割awk 列?
  • edit 您的问题包含所有相关信息,包括minimal reproducible example,其中包含简洁、可测试的样本输入、预期输出以及迄今为止您为自己解决问题所做的尝试。再次,请参阅How to Ask

标签: linux awk pipe less-unix


【解决方案1】:

这是一个开始:

$ cat tst.sh
#!/usr/bin/env bash

awk -v ff='\f' -F'\n' '
    s = index($0,ff) {
        prt()
        indent = s - 1
        width  = length($0) - indent
        midway = int(width / 2)
        next
    }
    indent { sub("^ {"indent"}","") }
    /[^[:space:]]/ {
        left  = left substr($0,1,midway) ORS
        right = right substr($0,midway+indent) ORS
    }
    END { prt() }

    function prt() {
        printf "%s", left
        printf "%s", right

        left = right = ""
    }
' "${@:--}"

.

$ ./tst.sh file

                                                                    9
maciones de la psiquiatría y la ciencia tradicional de Occi-
dente.
   También debo agradecer el aliento y el apoyo de varios físi-
do al poder contar con la amistad personal de muchos de los
pioneros de este nuevo abordaje psicológico. Estas personas
tan especiales han sido durante muchos años una fuente de ins-

尝试增强它以完全为您服务,然后如果您不能并且有任何具体问题,请发布一个新问题。

【讨论】:

  • 这是完美的,莫顿先生。我做了: pdftotext "mente.pdf" -layout 然后 ./reader.shmente.txt |这超出了我的 bash 技能。谢谢。
  • 不客气,但要明确的是,这是一个 awk 脚本而不是 bash 脚本(除了我提供的调用 awk 的包装器,以防你想使它成为 pdf2text | awk ... 或类似的)。
  • 实际上,我的想法是在终端中使用一个班轮,是的。但如果它能完成工作,我不在乎工具或语言。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 2019-09-12
  • 1970-01-01
  • 2013-08-18
相关资源
最近更新 更多