テキストファイルの中身を見る

テキストファイルを表示するための基本的な操作について説明します。

cat

一画面に収まるような小さなテキストファイルを見るときに便利です。


% cat tmp.c

less

ある程度の大きさ以上のテキストファイルを見るときに便利です。~はホームディレクトリです。多くの人にとって、テキストファイルの中身を確認するときはlessでしょう。


% less ~/.vimrc

Spaceで1ページ進みます。
bで1ページ戻ります。

カーソルキーの上と下も使えます。

qで終了します。

/文字列で検索します。
gで先頭行に移動します。
Gで最終行に移動します。
-N Enterで行番号を表示させます。

more

moreを使ったアプリケーションをたまに扱うことがあるので、ときどき必要に迫られます。


% more ~/.vimrc

Spaceで1ページ進みます。
bで1ページ戻ります。

qで終了します。

これだけ扱えれば大体の場合に対応できます。

head

テキストファイルの先頭を確認します。ときどきですが、50GBのテキストファイルなんかを扱う場合があります。そのときに便利です。他には、いくつかのファイルの先頭からn行だけ見たいというときが稀にあります。


% head ~/.vimrc

上と同じ結果が得られます。
先頭から10行だけ表示させます。


% head -n 10 ~/.vimrc

先頭から20行だけ表示させます。


% head -n 20 ~/.vimrc

先頭から10文字だけ表示させます。


% head -c 10 ~/.vimrc

tail

テキストファイルの最後を確認します。


% tail ~/.vimrc

上と同じ結果が得られます。
最後の10行だけ表示させます。


% tail -n 10 ~/.vimrc

最後の20行だけ表示させます。


% tail -n 20 ~/.vimrc

最後の10文字だけ表示させます。


% tail -c 10 ~/.vimrc

先頭から数えて10Byte目から表示します。つまり、最初の9文字を捨てて表示します。


% tail -c +10 ~/.vimrc
下記のshell scriptを作成します。簡易ログジェネレーターシミュレーターです。

tmp.sh

#! /bin/sh

for i in {1..1000}; do
    sleep 1
    echo $i
done

下記のようにして、確認しながら、ファイルに記録しながら、ということが必要なときもあります。


% ./tmp.sh | tee log | tail -F log

パーミッションを変更することが面倒なときは下記で実行します。


% sh tmp.sh | tee log | tail -F log

tail -fとtail -Fの違いはman tailでわかりやすく書かれています。
tmp.shの実行を止めるのはCtrl + cです。

追記

上記のtmp.shですがUbuntu 22.04で動作しないことを確認しました。
下記のどちらかに変更ください。

tmp.sh

#! /bin/sh

for i in `seq 1000`; do
    sleep 1
    echo $i
done

または

tmp.sh

#! /bin/bash

for i in {1..1000}; do
    sleep 1
    echo $i
done

広告

IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』
さくらのレンタルサーバ
ムームードメイン
Oisix(おいしっくす)
らでぃっしゅぼーや
珈琲きゃろっと
エプソムソルト




«       »
カテゴリーUNIX