unexpand - スペースをタブに変換する

スポンサーリンク

unexpandコマンドは、スペースをタブに変換することができます。

このunexpandコマンドとは逆のexpandコマンドもあります。

これらのコマンドは、ソースファイルの内容でスペースかタブかを統一するときに使うことができます。

スポンサーリンク

unexpandコマンドとは

unexpandコマンドとは、スペースをタブに変換するコマンドです。
expandコマンドの逆のコマンドで、どのくらいのスペースをタブに変換するかはタブストップ幅で決定します。

 

 

 

unexpandコマンドの利用例

タブストップ幅が8で行頭のスペースをタブに変換
(オプションなし)

unexpandコマンドはデフォルトでは、行頭のスペースのみをタブストップ幅が8で、タブに変換することができます。

コマンド例

hello.c

hello.c(cat -ET版) ▼表示

cat -Tはタブを^Iで表示します。
cat -Eは行の終端に$を追加します。

実行結果

実行結果 (cat -ET版) ▼表示

分かりにくいですが、スペースがタブに変換されています。

 

 

 

すべてのスペースをタブに変換
(-aオプション)

-aオプションは、すべてのスペースをタブストップ幅が8で、タブに変換することができます。

コマンド例

spacefile.txt

spacefile.txt(cat -ET版) ▼表示

実行結果

実行結果 (cat -ET版) ▼表示

 

 

 

タブストップ幅を変更
(-tオプション)

-tオプションを用いることで、どのくらいのスペースをタブに変更するかのタブストップ幅を
変更することができます。
また、-tオプションは、暗黙的に-aオプションがONになることに注意が必要です。

コマンド例

spacefile.txt

spacefile.txt(cat -ET版) ▼表示

実行結果

実行結果 (cat -ET版) ▼表示

 

 

 

行頭のスペースのみをタブに変換
(--first-only)

--first-onlyは、行頭のスペースのみをタブに変換します。
また、--first-onlyは、-aオプションより優先されます。
つまり、-tオプションでONになった-aオプションをOFFにすることができます。

コマンド例

hello.c

hello.c(cat -ET版) ▼表示

実行結果

実行結果 (cat -ET版) ▼表示

 

 

 

参考

外部リンクGnu Coreutils

外部リンクGnu Coreutils日本語版