Unix"换行"过滤器

atr*_*ent 4 unix shell filter

有吗?

我可以这样使用的东西:

$ cat someFileWithLongLines.txt | wrap -80 --indent|less
Run Code Online (Sandbox Code Playgroud)

Pau*_*ce. 12

GNU coreutils有一个名为的命令fmt:

$ fmt -40 -t lorem
Run Code Online (Sandbox Code Playgroud)
Lorem ipsum dolor sit amet, consectetur
   adipisicing 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. Duis aute irure dolor
   in reprehenderit in voluptate velit
   esse cillum dolore eu fugiat nulla
   pariatur. Excepteur sint occaecat
   cupidatat non proident, sunt in
   culpa qui officia deserunt mollit
   anim id est laborum.

编辑:如您所见,fmt在给定宽度内的单词边界上划线.将其与硬边界对比fold.缩进的类型fmt可能不是您正在寻找的,但您可以通过管道(没有-t选项)pr来获得边距样式的缩进:

fmt -40 lorem | pr -To 6
Run Code Online (Sandbox Code Playgroud)

  • fold也有`-s`选项,它在空格处打破. (2认同)

mik*_*iku 6

您可能需要该fold命令.

$ fold -w 80 file.txt
Run Code Online (Sandbox Code Playgroud)

要么

$ cat file.txt | fold
Run Code Online (Sandbox Code Playgroud)


ant*_*ony 1

该命令称为“fold”,但它不支持缩进行的换行部分。你需要用 awk 来解决这个问题。