Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unix "wrap" filter

Tags:

shell

unix

filter

is there one?

something I could use like this:

$ cat someFileWithLongLines.txt | wrap -80 --indent|less
like image 878
atrent Avatar asked Dec 24 '09 14:12

atrent


People also ask

How do you wrap text in Linux?

In Linux, the fold command can wrap text that displays wider than a monitor's width. The Linux fold takes lines of text and breaks them into chunks based on the arguments that you provide. With no arguments, fold will break lines at 80 characters.

What is text processing command?

Text processing involves computer commands which invoke content, content changes, and cursor movement, for example to. search and replace. format. generate a processed report of the content of, or. filter a file or report of a text file.


5 Answers

GNU coreutils has a command called fmt:

$ fmt -40 -t lorem
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.

Edit: As you can see, fmt breaks lines on word boundaries within the given width. Contrast this with the hard boundary of fold. The type of indenting that fmt does may not be what you're looking for, but you can pipe it (without the -t option) through pr to get a margin-style indent:

fmt -40 lorem | pr -To 6
like image 128
Dennis Williamson Avatar answered Nov 06 '22 00:11

Dennis Williamson


You might want the fold command.

$ fold -w 80 file.txt

or

$ cat file.txt | fold
like image 28
miku Avatar answered Nov 06 '22 02:11

miku


You can indent with pr, if you like, eg.

$ fold -w 76 -s file.txt | pr -T --indent=4
like image 24
Hasturkun Avatar answered Nov 06 '22 00:11

Hasturkun


The command is called 'fold', but it does not support indenting the wrapped sections of lines. You'll need to bust out awk for that one.

like image 1
anthony Avatar answered Nov 06 '22 00:11

anthony


The command is called fold.

$ cat someFileWithLongLines.txt | fold

like image 1
Christian V Avatar answered Nov 06 '22 02:11

Christian V