ブログ

タブからスペース、スペースからタブに変換する方法

at_shiita.ishigaki
2022年3月16日 9時18分

タブからスペースに変換するにはexpandコマンドを使用します。

[armadillo ~]# echo -e "\thoge\tfuga
\tpiyo" > test.txt
タブが入っているか確認するためにcat -Tを使用します。
[armadillo ~]# cat -T test.txt 
^Ihoge^Ifuga
^Ipiyo
[armadillo ~]# expand test.txt | cat -T -
        hoge    fuga
        piyo

各行の先頭のタブのみをスペースに変換する場合は-iオプションを使用します。

[armadillo ~]# expand -i test.txt | cat -T -
        hoge^Ifuga
        piyo

タブからスペースへ変換すると時にスペースの数を変える場合は-tオプションを使用します。デフォルトではスペースの数は8です。 ※以下では例としてタブをスペース2つに変えています。

[armadillo ~]# expand -t 2 test.txt | cat -T -
  hoge  fuga
  piyo

スペースからタブに変換する場合はunexpandコマンドを使用します。

[armadillo ~]# echo "        hoge        fuga
        piyo" > test.txt
[armadillo ~]# cat -T test.txt 
        hoge        fuga
        piyo
[armadillo ~]# unexpand test.txt | cat -T -
^Ihoge        fuga
^Ipiyo

先頭以外のスペースをタブに変換する場合は-aオプションを使用します。

[armadillo ~]# unexpand -a test.txt | cat -T -
^Ihoge^I    fuga
^Ipiyo

スペースからタブへ変換する時にスペースの数を変える場合は-tオプションを使用します。 ※以下では例として、2つのスペースをタブに変えています。

unexpand -t 2 test.txt | cat -T -
^I^I^I^Ihoge^I^I^I^Ifuga
^I^I^I^Ipiyo