The
pr
command (43.7
)
displays your files with a nice header above them.
But it can also add a bunch of blank lines to fill a page and break
the file to add more headers in the middle if the file is longer than a
page.
This article shows alternatives to pr
that print a single header
followed by the entire file, with no extra blank lines or page breaks.
When you redirect the output of
more
(25.3
)
(or pg
)
somewhere besides a terminal, it doesn't stop at the end of a screenful.
It prints a little header above each file and outputs all the files
at once.
Instead of redirecting the output to a file, you could pipe it to
another program - like your print spooler:
cat
|
% more file* > package
% cat
package
::::::::::::::
file1
::::::::::::::
...contents of file1....
::::::::::::::
file2
::::::::::::::
...contents of file2....
...
|
Another way to get similar headers is a feature of
head
(25.20
)
:
when you give multiple filenames, it
adds a header above each.
To be sure head
gives you all of your file (not just the head), use a
line count bigger than any of your files, with a command like
head -10000
.
Bourne shell
for
loops with redirected output (45.22
)
let you combine a bunch of commands and grab the output of all of them at once.
Here's a loop that runs ls -l
on each file.
It uses
awk
(33.11
)
to print just the file's permissions (field 1),
last modification date (fields 6-8), and name (field 9,
not including any name from a symbolic link).
(You could pipe use more awk
formatting to make
a fancier heading - and get rid of the echo
commands, too.)
The output is redirected to a file named printme
;
as already stated, a pipe to your printer program will also work.
$ for f in file*
> do
> echo =====================================
> ls -l $f | awk '{print $1, $6, $7, $8, $9}'
> echo =====================================
> cat $f
> done > printme
$ cat printme
=============================================
-rw-r----- Oct 28 07:28 file1
=============================================
...contents of file1....
=============================================
-r--r--r-- Nov 3 09:35 file2
=============================================
...contents of file2....
...
If you use those last two tricks a lot, you might put them into an
alias, function, or shell script (10.1
)
.
|
|