カテゴリ: Linuxコマンド集 更新日: 2026/05/03

cat -sオプションの使い方|連続する空行を1行に圧縮して見やすくする方法

cat -sオプション|連続する空行を1行に圧縮する方法
cat -sオプション|連続する空行を1行に圧縮する方法

先生と生徒の会話形式で理解しよう

生徒

「先生、テキストファイルを見てると、空行がいっぱい続いてて見づらいことがあるんです…」

先生

「それならcat -sオプションを使うといいですよ。連続する空行を1行にまとめて表示できます。」

生徒

「そんな便利なオプションがあるんですね!使い方を教えてください!」

先生

「では、一緒にcat -sの使い方を詳しく学んでいきましょう!」

1. cat -sとは?

1. cat -sとは?
1. cat -sとは?

Linuxのcatコマンドは、テキストファイルの中身を画面に表示するためのコマンドです。よく使われる基本的なコマンドのひとつですね。

cat -sは、その中でも「連続した空行を1行に圧縮する」という特殊なオプションです。

例えば、テキストファイルに3行も4行も空行(何も書いていない行)が続いていた場合、それを1行だけにまとめてくれる機能です。

空行が多いファイルを読みやすく整えるのに便利なオプションです。

2. 空行とは?初心者向けにやさしく解説

2. 空行とは?初心者向けにやさしく解説
2. 空行とは?初心者向けにやさしく解説

空行(くうぎょう)とは、中身が何も書かれていない行のことです。見た目には何もないように見えますが、実際には改行だけが存在している行です。

プログラミングや文章作成では、読みやすさのために空行を入れることがありますが、たくさん連続すると逆に見づらくなることもあります。

3. cat -sの基本的な使い方

3. cat -sの基本的な使い方
3. cat -sの基本的な使い方

まずは、空行がたくさんあるファイルを作ってみましょう。


echo -e "1行目\n\n\n\n2行目\n\n3行目" > sample.txt

このsample.txtの中身は、空行が何行も続いています。これを普通にcatで表示すると、空行がそのまま出てきます。


cat sample.txt
1行目



2行目

3行目

ここで-sオプションを使って表示すると、空行が1行だけに圧縮されます。


cat -s sample.txt
1行目

2行目

3行目

これで、見た目がスッキリして読みやすくなりましたね。

4. cat -sで元のファイルは変わらない

4. cat -sで元のファイルは変わらない
4. cat -sで元のファイルは変わらない

cat -sは表示のときにだけ空行を圧縮するだけで、ファイル自体の内容は変わりません。つまり、元のsample.txtには連続した空行が残ったままです。

元のファイルを変更したい場合は、出力を新しいファイルに保存する必要があります。


cat -s sample.txt > cleaned.txt

こうすれば、空行が1行に圧縮された状態でcleaned.txtに保存されます。

5. cat -sは複数ファイルにも使える

5. cat -sは複数ファイルにも使える
5. cat -sは複数ファイルにも使える

cat -sは、複数のファイルにも対応しています。たとえば、a.txtb.txtの2つのファイルに空行が多く含まれていて、それをまとめて表示したいときはこうします。


cat -s a.txt b.txt

ファイルをつなげて表示しながら、連続する空行を1行にしてくれるので、複数ファイルの確認にも便利です。

6. cat -sと他のcatオプションとの組み合わせ例

6. cat -sと他のcatオプションとの組み合わせ例
6. cat -sと他のcatオプションとの組み合わせ例

catには他にも便利なオプションがいくつかあります。-sと一緒に使うことで、より見やすく整理された出力ができます。

cat -n -s

-nは、すべての行に行番号をつけるオプションでした。-sと一緒に使うと、空行をまとめながら行番号も表示されます。


cat -n -s sample.txt
     1  1行目
     2  
     3  2行目
     4  
     5  3行目

このように、無駄な空行を抑えながら読みやすい出力ができるので、とても便利です。

7. cat -sとsedコマンドの違い

7. cat -sとsedコマンドの違い
7. cat -sとsedコマンドの違い

空行の処理にはsedというコマンドもよく使われます。たとえば、sed '/^$/N;/^\n$/D'のような複雑な書き方をすれば、同じように空行を1行にできます。

でも初心者には難解なので、まずはcat -sで空行を圧縮する方法から覚えるのがおすすめです。

8. 空行が多いログファイルにもおすすめ

8. 空行が多いログファイルにもおすすめ
8. 空行が多いログファイルにもおすすめ

Linuxのサーバーやシステムのログファイルには、空行がたくさん含まれていることがあります。cat -sを使えば、無駄な空白を省いて情報をすばやく把握できるので、ログ確認にも役立ちます。

まとめ

まとめ
まとめ

今回の記事では、Linux環境でテキストファイルを効率的に閲覧するための必須テクニック、cat -sオプションについて詳しく解説しました。大量のデータを扱うエンジニアや、設定ファイルの内容を確認するシステム管理者にとって、画面の視認性を高めることは作業ミスを減らすための第一歩です。

cat -s オプションの重要なポイント

Linuxコマンドの基本であるcat-s(squeeze-blank)を付け加えるだけで、連続して出現する無意味な空行を「たった1行」に凝縮することができます。これにより、スクロールの手間が省け、重要なテキスト情報だけに集中できるようになります。ここで、改めてその効果をコマンド実行例で振り返ってみましょう。

実践:空行が目立つファイルをスッキリさせる

例えば、プログラムの実行ログや、雑に作成されたメモファイルなど、空行が5行も10行も続いているケースを想定します。まずは、わざと空行を多く含ませたテキストファイルを作成して中身を確認する手順です。


echo -e "Linux勉強中\n\n\n\n\n次のステップへ" > practice.txt
cat practice.txt
Linux勉強中




次のステップへ

上記の通り、標準の表示では空行がそのまま出力されます。これに対して、今回学んだcat -sを実行すると、どれほど見た目が変わるか確認してください。


cat -s practice.txt
Linux勉強中

次のステップへ

非常にスマートな表示になりましたね。このように、「表示上の無駄を削ぎ落とす」のがこのオプションの真髄です。

応用:他コマンドとの組み合わせによるSEO・データ整理術

実際の業務では、単に画面に出すだけでなく、整理した内容を別のファイルとして保存したり、行番号を振って分析したりすることが多いです。特にプログラミングのソースコードをレビューする際などは、行番号を表示する-nオプションとの併用が非常に効果的です。


cat -ns practice.txt
     1	Linux勉強中
     2	
     3	次のステップへ

行番号を維持しつつ、無駄な空白行(元のファイルでは2行目から5行目にあたった部分)を1つの空行としてカウントし直して表示してくれます。これにより、ドキュメントの構造がより明確になります。

さらに、ルート権限が必要なシステムログ(例えば/var/log/配下のファイルなど)を確認する際も、このテクニックは重宝します。管理者として実行する場合の例も見ておきましょう。


cat -s /var/log/syslog
(ログの内容が連続空行を圧縮された状態で表示される)

最後に:作業効率を上げるための習慣

「たかが空行」と思われがちですが、1,000行、10,000行と続く巨大なファイルを扱う際、この-sオプションを知っているかどうかで、情報にたどり着くまでのスピードが劇的に変わります。初心者の方は、まずは「catで中身を見るときは、空行が多ければ-sを付ける」という習慣を身につけるところから始めてみてください。Linuxの世界には、こうした「ちょっとした工夫」で劇的に便利になるツールがたくさん眠っています。

先生と生徒の振り返り会話

生徒

先生、ありがとうございました!cat -sを使うだけで、あんなにバラバラだったテキストが読みやすくなるなんて驚きです。今まで必死にスクロールして空行を飛ばしていた時間がもったいなかったです…。

先生

そう言ってもらえると嬉しいですね。特にエンジニアの世界では「可読性」といって、読みやすさは正義なんです。空行を適切に処理するだけで、バグの発見が早まることもあるんですよ。

生徒

なるほど、バグ発見にも役立つんですね!あ、一つ気になったのですが、もし空行を完全に消してしまいたいときはどうすればいいんですか?-sは1行残しちゃいますよね?

先生

鋭い質問ですね!もし空行をすべて削除したいなら、grepコマンドを使って「空行以外を表示する」というテクニックを使います。例えばこんな感じですね。


grep -v '^$' practice.txt
Linux勉強中
次のステップへ

生徒

わあ、今度は1行も残らず消えました!用途に合わせてcat -sと使い分ければ完璧ですね。Linuxコマンドって、組み合わせ次第で何でもできる感じがしてワクワクします!

先生

そのワクワクが大切です。まずは基本のcatをマスターして、徐々に他のコマンドも覚えていきましょう。次はファイルの中身を検索するコマンドに挑戦してみますか?

生徒

はい!ぜひお願いします!どんどん使いこなせるようになりたいです!

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

cat -sとは何ですか?Linux初心者でも理解できるように教えてください

cat -sとは、Linuxのcatコマンドのオプションのひとつで、連続する空行を1行に圧縮して表示する機能です。テキストファイルの表示を見やすくするために使われる基本的なLinuxコマンドの便利機能です。
関連記事:
カテゴリの一覧へ
新着記事
New1
圧縮・アーカイブ
bunzip2 -fオプションの使い方を完全ガイド!Linuxで圧縮ファイルを強制上書きする方法
New2
テキスト・データ処理
headコマンドとは?Linuxでファイルの先頭部分を表示する基本
New3
Linuxコマンドの基本
Linuxのパスの基本!絶対パスと相対パスの違いを初心者向けにやさしく解説
New4
ディスクとファイルシステム管理
mountコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイルシステムマウント方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
圧縮・アーカイブ
tarコマンドの使い方を完全ガイド!初心者でもわかるLinuxのアーカイブ作成と解凍の基本