Печать нескольких файлов с помощью lpr
При печати нескольких файлов с помощью lpr
и -p
опция, имя первого файла печатается в заголовке для всех файлов. Как можно изменить это поведение так, чтобы в заголовке каждого файла было напечатано правильное имя файла?
Например, можно напечатать три файла "file1.txt", "file2.txt" и "file3.txt" с помощью одной из следующих команд:
lpr -p file1.txt file2.txt file3.txt
lpr -p file*.txt
Однако в обоих случаях "file1.txt" печатается в строке заголовка каждого файла. Я хотел бы, чтобы "file2.txt" печатался в заголовке для file2 и так далее (без необходимости печатать каждый файл отдельно). lpr -p file1.txt; lpr -p file2.txt; lpr -p file3.txt
).
1 ответ
Страница man lpr гласит:
-hheader Specify a title to be used on the banner page (if any).
Default title is the name of the file.
И ничего другого относительно этого (то есть, как говорится: "заголовок по умолчанию - это имя файла", так как вы не передали -h
параметр). Так что это выглядит как плохое поведение, по крайней мере, на первый взгляд. На второй взгляд, я замечаю ваш -p
параметр:
-p Add pr(1) style headers to each page (text only)
Взгляните на справочную страницу pr(1):
use a centered HEADER instead of filename in page header, -h ""
prints a blank line, don't use -h""
Я предполагаю, что этот "центрированный заголовок" рассчитывается только один раз, а не для каждого файла в отдельности. Таким образом, вы можете попробовать оба подхода без -p
параметр, чтобы проверить, представляет ли это проблему - или попробуйте третий подход:
for myfile in file*.txt; do lpr -p $myfile; done
который будет ссылаться lpr
для каждого файла отдельно, и, таким образом, вы избавитесь от описанной проблемы.