10. 展開と折りたたみ

不均一なスペースはテキストファイルの可読性を低下させる可能性があります。タブは均一なインデントを作成することを目的としていますが、その表示幅はエディタやシステムによって異なります。これにより、テキストの書式設定や配置が崩れることがあります。幸いなことに、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 のスペースとタブに対するより包括的な制御を提供します。

ログインして学習進捗を保存

サインイン

演習

Linux でのテキスト操作とリダイレクトを習得するには、実践が鍵となります。次のハンズオンラボが理解を深めるのに役立ちます。

  1. Linux における入力と出力のリダイレクト - >>>などの演算子を使用して標準出力(stdout)、標準エラー(stderr)、標準入力(stdin)を操作し、コマンドからのデータフローを制御する練習をします。
  2. 簡単なテキスト処理 - trcoljoinpasteなどの強力なコマンドを使用してテキストデータを効率的に操作および分析する方法を学び、データ処理のためのコマンドラインスキルを向上させます。
  3. テキスト処理と正規表現 - 強力なテキスト処理ツールであるgrepsedawkを学び、正規表現を使用して Linux で効率的にテキストを操作しパターンを照合します。

これらのラボを完了すると、テキスト変換とファイル操作の概念を実際のシナリオに応用できるようになり、不可欠な Linux コマンドラインツールの使用に対する自信が深まります。

クイズ

タブをスペースに変換するために使用されるコマンドは何ですか?(小文字の英語のコマンド名で回答してください。)