cat -eオプション|行末を「$」で表示する方法
生徒
「先生、テキストファイルを見てると、改行されてるかどうかわからないときがあるんです…」
先生
「それは、行の最後に改行コードがあるか見えないからですね。catコマンドに-eオプションを付けると、行末に$を表示して確認できますよ。」
生徒
「行の終わりにマークが付くってことですか?それなら一目でわかりそうです!」
先生
「はい、$が付いていれば改行があるという意味になります。実際に試してみましょう!」
1. cat -eとは?
Linuxのcatコマンドは、テキストファイルの内容をそのまま表示する基本的なコマンドですが、-eオプションを付けることで、行の末尾に「$」マークを付けて表示することができます。この$は、改行コードの場所を可視化するための記号です。
普段は見えない改行が見えるようになるので、改行の有無や、余計な空白行をチェックするときに便利です。
2. 実際の使用例
たとえば、次のようなテキストファイルがあるとします(sample.txt):
cat sample.txt
こんにちは
ようこそ
Linuxの世界へ
このファイルを普通にcatで表示すると、行の終わりがどこか分かりにくいですが、-eオプションを使うと次のようになります。
cat -e sample.txt
こんにちは$
ようこそ$
$
Linuxの世界へ$
この表示では:
$が付いている行は「改行がある」行$だけの行は「空行(改行だけがある)」
つまり、行の終わりがはっきりと視覚的に確認できるようになります。
3. 改行がないとどう見える?
ファイルの最後に改行がない場合は、$が表示されません。これもcat -eを使うことで簡単にチェックできます。
cat -e no_newline.txt
最終行に改行がない
このように、最後に$が付いていない=改行が存在しない、という意味になります。
プログラムによっては、ファイルの末尾に改行が必要な場合もあるので、そうした確認にcat -eはとても役立ちます。
4. cat -eで空白行のチェックも簡単に
たとえば、設定ファイルなどで空行が何行あるか確認したいとき、cat -eを使えば一発でわかります。
普通のcatでは空行はただのスペースに見えるだけですが、$が出ることで空行がハッキリ表示されます。
cat -e config.txt
# 設定ファイルの例$
$
port=8080$
$
host=localhost$
このように、空行が視覚的に認識できるのはとても便利です。
5. -vや-Aとの違いと組み合わせ
catには他にも便利なオプションがありますが、-eは実は-vEという2つのオプションの組み合わせと同じ動作をします。
-v:制御文字を表示-E:行末の$を表示-e:-vEと同じ-A:すべての非表示文字(改行・タブ・制御文字)を見えるようにする
cat -A sample.txt
Hello^IWorld!$
$
Linux^MOS$
-Aはより情報量が多く、-eは行末の改行チェックに特化して使いたいときにおすすめです。
6. cat -eの活用シーン
最後に、cat -eがどんなときに役立つのか、代表的な例を挙げておきます。
- 改行の有無を確認したいとき
- 空行がどこにあるかをチェックしたいとき
- ファイルの整形ミスを調べたいとき
- プログラムやスクリプトのフォーマットを確認したいとき
- 設定ファイル(.confや.iniなど)をレビューするとき
特にプログラミング初心者にとって、改行や空白行のトラブルは見つけにくい問題の1つです。cat -eを使えば、そうした「見えない落とし穴」を防ぐことができます。