is there one?
something I could use like this:
$ cat someFileWithLongLines.txt | wrap -80 --indent|less
is there one?
something I could use like this:
$ cat someFileWithLongLines.txt | wrap -80 --indent|less
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.
The command is called fold.
$ cat someFileWithLongLines.txt | fold
you can use awk
width=10
awk -vw="$width" '{
i=1
while( length(substr($0,i,w) ) ){
print substr($0,i,w)
i+=w
}
}' file
output:
$ more file
this is a line 1
this is a line 2
$ fold -w 10 file
this is a
line 1
this is a
line 2
$ ./shell.sh
this is a
line 1
this is a
line 2
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