今日の人気記事

  1. chown - ファイルの所有者やグループを変更 - Linuxコマンド
  2. ssh - リモートマシンにSSHでログイン - Linuxコマンド
  3. ファイルの解凍・圧縮 - Linuxコマンド一覧(.zip .gz .Z .bz2 tar.gz .tgz tar.Z .taz .tar.bz2 .tbz2)
  4. gzip - ファイルを圧縮・展開 - Linuxコマンド
  5. zip - ファイルを圧縮 - Linuxコマンド

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

関連コマンド

expand

関連記事(一部広告含む)