读取输入并打印到具有多行换行功能的表格



我有看起来像这样的标准:

1. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
2. This is a test, this is only a test.  Do not adjust your television.  Blah, blah, blah; yak, yak yak; foo, bar, baz, qux.
3. Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.

我希望能够在命令行上的表中组织它 - 描述包装并继续下一行的相应列:

 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
    tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo...
 2. This is a test, this is only a test.  Do not adjust your television.  Blah,
    blah, blah; yak, yak yak; foo, bar, baz, qux.
 3. Four score and seven years ago our fathers brought forth on this continent,
    a new nation, conceived in Liberty, and dedicated to the proposition that
    all men are created equal.

硬包装或软包装都可以。

任何人都知道一种方法。

不是最漂亮的,但这将起作用。

$ cat input
1. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
2. This is a test, this is only a test.  Do not adjust your television.  Blah, blah, blah; yak, yak yak; foo, bar, baz, qux.
3. Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.
$ cat input | fold -s -w 78| awk '/^[[:digit:]]+./{a=length($1); print; next} {sub(/^ +/, ""); printf "%*s%sn", a+1, " ", $0}'
1. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
   tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
   quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
   consequat.
2. This is a test, this is only a test.  Do not adjust your television.
   Blah, blah, blah; yak, yak yak; foo, bar, baz, qux.
3. Four score and seven years ago our fathers brought forth on this
   continent, a new nation, conceived in Liberty, and dedicated to the
   proposition that all men are created equal.

我给fold一个比实际窗口略小的尺寸,这样添加的填充就不会将一条线从窗口的末端推开(并再次换行)。

最新更新