HowtoForgeに6月18日(米国時間)に掲載された記事「Linux unexpand Command Explained for Beginners (with Examples)」が、unexpandコマンドの使い方を紹介した。unexpandコマンドは空白をタブに変換するコマンド。逆にタブを空白に変換するコマンドとしてexpandが用意されており、expandとunexpandで空白とタブの相互変換を実施できる。

expandコマンドおよびunexpandコマンドの基本的な使い方は次のとおり。

expandコマンドの使い方。タブを連続する空白に変換

expand ファイルパス

unexpandコマンドの使い方。連続する空白をタブに変換

unexpand ファイルパス

unexpandコマンド: 空白を指定した連続数ごとにタブに変換

unexpand -t 数字 ファイルパス

unexpandコマンド: 指定した文字数目ごとにタブに変換

unexpand -t 数字,数字,数字... ファイルパス

expandコマンドおよびunexpandコマンドでソースコードのインデントを変換した例は次のとおり。

  • 返還前のソースコードサンプル

    返還前のソースコードサンプル

  • expandコマンドでタブを空白に変換した場合

    expandコマンドでタブを空白に変換した場合

  • unexpandコマンドで空白をタブに戻した場合

    unexpandコマンドで空白をタブに戻した場合

  • unexpandコマンドで-t 4を指定して空白4文字ごとにタブに変換した場合

    unexpandコマンドで-t 4を指定して空白4文字ごとにタブに変換した場合

なお、似たような処理はsedコマンドなどを使っても実行できる。