unexpand - スペースをタブに変換 - Linuxコマンド
当ページのリンクには広告が含まれています。
スポンサーリンク
unexpandコマンドは、標準入力やファイルから入力されたテキストの中にある複数のスペースをまとめてタブに変換するコマンドです。
unexpandコマンド
書式
unexpand [オプション] [ファイル]
スクリプトファイルのインデントを整形(スペース → タブ)する場合、便利なコマンドです。逆に「タブ → スペース」に変換する場合は「expandコマンド」を使います。
オプション
-a | 行頭に加え、行中のスペースもタブに変換します。 |
-t 数値 | スペースの文字数を指定します。デフォルトは8文字です。 |
使用例
スペース区切りのテキストファイル(foo.txt)を使って、unexpandコマンドの挙動を確認しましょう。
$ cat foo.txt 1 2 3 4 5 a b c d e
オプションなしでunexpandコマンドを実行すると行頭のスペースのみがタブに変わります。わかりにくいてですが、行頭のみがタブ、その他の文字の間はスペースです。
$ unexpand foo.txt 1 2 3 4 5 a b c d e
行頭を含む全てのスペースをタブに変更します(オプション -a)。これまたわかりにくいですが、文字の間はタブに変わっています。
$ unexpand -a foo.txt 1 2 3 4 5 a b c d e