Linux環境でテキスト処理をする中で、文章の見た目を整えたいときに便利なのが「fmt
」コマンドです。長すぎる文章を折り返したり、一定の幅で文字を揃えたりする際に、シンプルながらも強力な力を発揮します。特にメール本文の整形や、ログの整形、マニュアル文書の調整などに使われることが多く、知っておくと重宝するコマンドのひとつです。この記事では、fmt
コマンドの基本的な使い方からオプションの活用方法、実用的な活用例まで、わかりやすく解説します。
fmtコマンドとは?その役割と特徴
fmt
コマンドは、テキストを整形するための標準的なUnix系ツールです。主に、長い文章を指定された幅で改行したり、文章を読みやすい形に整えるために使われます。シンプルな設計でありながら、視認性の高い出力が得られることから、メールやドキュメントのプレーンテキスト整形に適しています。
たとえば、ソースコードのコメントや文章が一行で長く続いていると、読みづらさを感じることがあります。そうしたテキストを適切な位置で改行し、一定の文字数で折り返すことで、文書の視認性がぐっと向上します。
基本的な使い方:最もシンプルな整形
fmt
コマンドの基本的な構文は以下の通りです。
fmt [オプション] [ファイル名]
最も簡単な使い方は、次のようにファイルを指定するだけです。
fmt input.txt
このコマンドでは、input.txt
内のテキストをデフォルト幅(通常は75文字)で折り返して整形し、標準出力に表示します。
改行のない長文や、整っていないテキストファイルを整える際に非常に便利です。
出力を別ファイルに保存する
整形した結果を新しいファイルに保存したい場合は、リダイレクト機能を使います。
fmt input.txt > output.txt
これにより、整形後のテキストがoutput.txt
に保存され、元のファイルには影響を与えません。
文字幅を指定する:-wオプションの活用
文章の折り返し幅を変更したい場合は、-w
オプションを使用します。
fmt -w 50 input.txt
このコマンドでは、テキストが50文字で改行されるように整形されます。文字幅を調整することで、目的のフォーマットに応じた出力が可能になります。
例:Markdown用に60文字幅にしたい場合などに便利です。
パイプとの組み合わせ:標準入力の活用
fmt
は標準入力にも対応しているため、他のコマンドとパイプでつなぐこともできます。たとえば、cat
コマンドと組み合わせて、インタラクティブに確認できます。
cat input.txt | fmt -w 60
または、文章を一時的に整形したいときに、echo
と組み合わせることも可能です。
echo "この文章は非常に長くて読みづらいですが、fmtコマンドで整形することができます。" | fmt -w 40
実用例:メール本文の整形
プレーンテキスト形式でメールを書く際に、行が長くなると受信側で改行が崩れる場合があります。fmt
を使うことで、手軽に70〜80文字幅で折り返しておけば、多くのメールクライアントで読みやすい形になります。
fmt -w 72 mail.txt > formatted_mail.txt
メール作成前にこの操作を挟むだけで、見た目も内容もスマートになります。
実用例:manページのような整形文書の作成
Unix系のmanページ風ドキュメントを作る際にも、fmt
が役立ちます。手書きで書いた原稿や、整形されていないメモ書きをfmt
で整えると、簡易的に読みやすい文書に変換できます。
fmt -w 65 notes.txt > manstyle.txt
このようにして、整形された見やすいテキスト資料を作成できます。
注意点:fmtでは意図しない整形がされる場合もある
fmt
はあくまで自動的に「ちょうどよく整形しよう」とするツールであるため、厳密なフォーマットが求められる用途には適していません。たとえば、表形式やインデントを保ちたい場合などには、fmt
を使うことでレイアウトが崩れてしまうことがあります。
そのような場合には、awk
やsed
、pr
など、より柔軟に整形できるツールの使用を検討しましょう。
fmtと似たコマンドとの違い:foldとの比較
fmt
とよく混同されるコマンドに、fold
があります。fold
も文字幅で行を折り返すツールですが、こちらは単純に文字数で切るため、単語の途中であっても強制的に改行されてしまいます。
fold -w 50 input.txt
これに対してfmt
は、できるだけ単語の区切りを尊重しながら折り返しを行うため、文章として自然な見た目になります。
おわりに:fmtを使って美しく整えよう
fmt
は、文章の読みやすさを向上させるためのシンプルながら便利なコマンドです。特にCLI環境でのドキュメント整形や、メール文のフォーマット調整などに使えば、文章の印象を大きく変えることができます。
複雑なオプションは少なく、使い方も直感的なので、Linuxを使い始めたばかりの方でもすぐに活用できます。日常的なテキスト操作の中にfmt
を取り入れて、より快適な文章管理をしてみましょう。