不均一なスペースはテキストファイルの可読性を低下させる可能性があります。タブは均一なインデントを作成することを目的としていますが、その表示幅はエディタやシステムによって異なります。これにより、テキストの書式設定や配置が崩れることがあります。幸いなことに、Linux にはタブとスペースを変換することで、これを管理するための簡単なツールが用意されています。この初心者向け Linux ガイドでその手順を説明します。
expand コマンドでタブをスペースに変換する
一貫したスペースが必要な場合は、expandコマンドを使用してタブを標準的な数のスペースに変換できます。このコマンドはファイルを読み込み、各タブ文字をスペース文字のセットに置き換えて、結果を標準出力に出力します。
expand sample.txt
デフォルトでは、expandコマンドは各タブを 8 つのスペースに変換します。このシンプルなユーティリティは、テキストの書式設定を改善するための強力なツールです。
変換された出力を保存する
expandコマンドは変換されたテキストをターミナルに出力するだけです。変更を保存するには、出力を新しいファイルにリダイレクトする必要があります。
expand sample.txt > result.txt
このコマンドはexpand sample.txtの出力をresult.txtに書き込み、タブの代わりにスペースを含む新しいファイルを作成します。
unexpand コマンドでスペースをタブに変換する
逆の操作、つまりスペースをタブに戻す操作は、unexpandコマンドによって処理されます。これは、ファイルサイズを削減したり、タブを必要とするコーディング標準に準拠したりする場合に役立ちます。
unexpand -a result.txt
デフォルトでは、unexpandは各行の先頭のスペースのみを変換します。-aオプションは、unexpandコマンドに、行の先頭にあるものだけでなく、すべての 8 スペースのインスタンスをタブに変換するように指示し、Linux のスペースとタブに対するより包括的な制御を提供します。