cat -Eオプションの使い方を丁寧に解説!初心者でもわかる行末記号の表示方法と-eとの違い
生徒
「先生、catコマンドで行の最後に何か記号を付ける方法ってありますか?」
先生
「あるよ。catコマンドに-Eオプションを付けると、行末に$マークを表示できるんだ。」
生徒
「-eっていうのもあった気がするけど、どう違うの?」
先生
「いい質問だね。じゃあ今回は、cat -Eとcat -eの違いも含めて詳しく解説しよう。」
1. cat -Eとは?
catコマンドは、Linuxでファイルの中身を表示する基本的なコマンドです。cat -Eは、そのcatコマンドに「行末に$マークを付けて表示する」オプションをつけたものです。
この$は、「この行はここで終わっていますよ」という目印になります。見た目で改行の位置がわかるため、空白や改行を含んだファイルの内容確認に便利です。
2. 実際にcat -Eを使ってみよう
例えば、次のようなテキストファイルsample.txtがあるとします。
cat sample.txt
Hello, Linux!
This is a test file.
Have a nice day.
このファイルに対してcat -Eを実行すると、各行の終わりに$マークが追加されて表示されます。
cat -E sample.txt
Hello, Linux!$
This is a test file.$
Have a nice day.$
このように、改行の位置を明確に可視化できるのが-Eオプションの特徴です。
3. cat -eとの違いを比較しよう
よく似たオプションに-eがありますが、これは少し動作が異なります。
cat -eは、行末に$を表示するだけでなく、タブなどの特殊文字も表示するという特徴があります。
実際に比較してみましょう。
cat -e sample.txt
Hello, Linux!$
This is a test file.$
Have a nice day.$
この例では、結果だけ見れば-Eと同じように見えますが、実際には-vオプション(不可視文字を可視化する)も含まれており、タブや制御文字があるとその違いが現れます。
例えば、次のようにタブを含んだ行がある場合:
cat tab_sample.txt
Name Age
Alice 20
Bob 25
cat -Eでは、タブはそのまま表示されますが、
cat -E tab_sample.txt
Name Age$
Alice 20$
Bob 25$
cat -eでは、タブが^Iと表示されるのです。
cat -e tab_sample.txt
Name^IAge$
Alice^I20$
Bob^I25$
つまり、-eは-Eと-vを組み合わせたような動きをします。通常の改行だけを確認したい場合は-Eがシンプルで見やすく、特殊文字もチェックしたいなら-eを使うと便利です。
4. よく使うオプションの組み合わせ
catコマンドは、他にも便利なオプションがあります。例えば:
-n:全ての行に行番号をつける-b:空行を除いて行番号をつける-T:タブを^Iとして表示
これらを組み合わせると、より詳細なファイルの内容確認が可能です。
cat -n -E sample.txt
1 Hello, Linux!$
2 This is a test file.$
3 Have a nice day.$
-nと-Eを組み合わせて、行番号と改行位置を一緒にチェックすることができます。
5. cat -Eが役立つシーン
cat -Eは、以下のような場面で特に役立ちます。
- 改行が多すぎる/少ないなどのエラー調査
- テキストの最終行に改行があるかどうかの確認
- 空行やスペースだけの行の可視化
特にプログラミングや設定ファイルで、意図しない空白行や改行があると不具合の原因になることがあるため、-Eでチェックするのは重要なポイントです。