テキストファイルのタブをスペースに変換する

PHPやHTMLでは、タブ文字を使用せずに、スペースでインデントすることが推奨されており、コーディング規約などで明記されています。すでにタブ文字を使用した、PHP、HTMLのソースがある場合、手作業で全てのファイルのタブをスページにすることは現実的ではありません。テキストファイルのタブをスペースに変換変換して保存するLinuxコマンドを紹介します。また、逆にスペースをタブに変換する方法もご紹介。

expandでタブをスペースに変換して保存

テキストファイルのタブをスペースに変換して保存するにはexpandコマンドを使用します。使用方法は次の通りです。

expand 対象ファイル > 保存先ファイル

対象ファイルはタブをスペースに変換したいテキストファイルです。既存のPHP、HTMLのファイルを指定してください。保存先ファイルが指定されていない場合は、標準出力に表示されます。

unexpandでスペースをタブ文字に変換して保存

あまり使用することは少ないと思いますが、先ほどとは逆に、スペースをタブ文字に変換するコマンドも存在します。方法はunexpandコマンドにaオプションを加えて実行します。

unexpand -a 対象ファイル > 保存先ファイル

aオプションをつけない場合は、行頭のインデントだけをタブに変換します。もしかすると、aオプションなしの方が使う場面が多いのかもしれません。