cat -tオプションを完全解説!Linuxでタブと制御文字を見える化する方法
生徒
「先生、Linuxでテキストファイルの中のタブとか、変な文字を見つけたいんですけど、いい方法ありますか?」
先生
「それならcatコマンドの-tオプションを使ってみましょう。」
生徒
「えっ、-tって何をしてくれるんですか?」
先生
「タブ文字を^Iで見えるようにして、さらに制御文字っていう普段見えない特殊な文字も表示してくれるんです。」
1. catコマンドと-tオプションとは?
catコマンドは、Linuxでよく使われるテキスト表示の基本コマンドで、ファイルの内容を画面に出力するために使います。そのcatにある-tオプションは、不可視な文字(タブや制御文字)を見える形に変換して表示するためのものです。
-tは、-Tと-vの2つのオプションを同時に使ったのと同じ効果があります。
-T:タブ文字を^Iとして表示-v:制御文字を^付きで可視化
つまり、-tを使うだけで両方の効果を一気に得られる、便利なショートカットオプションなのです。
2. cat -tでタブや制御文字を確認する
例えば、ファイルの中にタブや制御文字が混ざっていて、どこにあるか分からないと困ることがあります。そんなときにcat -tを使えば、目に見える形で確認できます。
cat sample.txt
名前 住所 電話番号
田中 東京 090-1234-5678
見た目には普通に見えますが、この中にはタブが使われています。cat -tで表示すると以下のようになります。
cat -t sample.txt
名前^I住所^I電話番号
田中^I東京^I090-1234-5678
このように、タブが「^I」としてはっきり見えるようになります。さらに、制御文字が含まれている場合も可視化されます。
3. 制御文字とは?
制御文字とは、画面に表示される普通の文字(ひらがな・カタカナ・英数字など)ではなく、改行やタブ、ベル音などの特殊な意味をもつ文字のことです。たとえば、ファイルの中に「改ページ」や「ビープ音」などが含まれていても、普通には見えません。
cat -tを使うと、たとえばビープ音の^Gや、改ページの^Lなどが表示されます。
4. よくあるcat -tの活用例
以下はcat -tを使った実用的な例です。
たとえば、Windowsで作ったテキストファイルに、制御文字が紛れ込んでいたとします。
cat -t windows_file.txt
データ^I値1^M
情報^I値2^M
この例では、^Iがタブ、^MがWindowsの改行コードの一部(キャリッジリターン)を表しています。Linuxでは^Mは不要な場合が多く、問題の原因になりやすいため、これを見つけるのにcat -tは便利です。
5. 他のcatオプションとの比較
catには他にも表示補助のオプションがあります。簡単に比較してみましょう。
-T:タブだけを表示(^I)-v:制御文字を表示(^記号付き)-E:行末に$を表示-A:上記すべてを一括で表示(全表示オプション)-t:-Tと-vの組み合わせ
似たオプションが多いですが、-tは特にタブと制御文字の両方をまとめて確認したいときに最適です。
6. cat -tは初心者にこそ便利なトラブル解決ツール
Linux初心者の方でも、cat -tを使えば、見えないエラーの原因を素早く発見できます。特に以下のような場面で活躍します:
- ファイルの整形がうまくいかないとき
- スクリプトが動かない原因が分からないとき
- 文字化けや改行のズレをチェックしたいとき
タブとスペースの違いが原因でトラブルになるケースは多いため、目で確認できるこのコマンドはとても強力な味方になります。
7. cat -tとless -Sの併用で長い行も快適に確認
ファイルの行が長くて端が見切れてしまう場合は、less -Sと組み合わせると便利です。
cat -t sample.txt | less -S
これでcat -tで表示された結果を、横スクロール付きで確認できます。内容が長くてもじっくりチェックできます。
8. 表示だけで安全!cat -tはファイルを壊さない
cat -tはファイルの中身を表示するだけで、編集や削除を行うわけではありません。ですので、初心者の方でも安心して使うことができます。何かを壊してしまう心配はありません。
まずは確認、調査、チェックをしたいときに、ぜひ覚えておきたいLinuxの便利コマンドです。