web-dev-qa-db-ja.com

印刷用のコマンドラインでのファイルのフォーマット

lprまたはlpコマンドを使用してテキストファイルを印刷するときは常に、単語は1行の終わりで切り取られ、もう1行に続きます。たとえば、「understand」は1行目の終わりで「unde」に分割され、もう1行目の最初で「rstand」に分割されます。印刷のためにファイルのテキストを正当化する方法はありますか?私はもう試した lpr -pおよび-o media=a4、およびページに合わせるオプションがありますが、単語はまだ切り捨てられています。

私のために働いた解決策:

  1. garethTheRedのfoldfold -s textfile.txt | lpr
  2. fmtコマンドが見つかりました ここ および ここfmt -u -w 80 textfile.txt | lpr;幅80は好きなように変更できますが、私にとってはこれで十分に機能するようです。
3

foldを使用します。 manページからの抜粋:

Wrap  input  lines in each FILE (standard input by default), writing to
standard output.

-b, --bytes
   count bytes rather than columns

-c, --characters
   count characters rather than columns

-s, --spaces
    break at spaces

-w, --width=WIDTH
    use WIDTH columns instead of 80

foldを使用して(Wordの途中で行が途切れないように-sオプションを使用する場合があります)、ドキュメントの幅を約80文字に設定し、次のように印刷します。

fold -s myfile.txt | lpr

または、フォーマットされたバージョンを保存するには:

fold -s myfile.txt > output.txt
5
garethTheRed