今回はファイルの中身を見たり検索したりしてみよう。
まず事前に中身のあるファイルを用意する。
全て見知らぬコマンドを利用しているが今回はこの説明は割愛する。
| 1 | # seq -w 1 10 >sample1.txt | 
cat
主にファイルの内容を表示するために利用する。
| 1 | # cat sample1.txt | 
head
先頭10行を表示する。-n numberのオプションを指定することで、指定行数表示する。 
| 1 | # head -n5 sample1.txt | 
tail
末尾10行を表示する。-n numberのオプションを指定することで、指定行数表示する。 
| 1 | # tail -n5 sample1.txt | 
grep
検索文字列に一致する行を検索して出力する。正規表現も利用可能。
例: sample1.txtの中から1という文字が入っている行を表示する。
| 1 | # grep 1 sample1.txt | 
| (パイプ)
複数の処理の入出力をつなぐための仕組み。
例: sample1.txtの中から先頭5行の中から1という文字が入っている行を表示する。
| 1 | # head -n5 sample1.txt | grep 1 | 
パイプを使うことでより絞り込んだ検索をすることができるようになる。
高機能なgrep
grepには大量にオプションがある。(詳細は man grep で確認!)
その中でも特に便利なオプションを紹介しておく。
- --color- 検索文字列に色をつけて表示する。 
- -c - 検索にマッチした行をカウントする。 
- -number - 検索にマッチした前後number行を表示する。 
- -A number - 検索にマッチした行からnumber行下を表示する。 
- -B number - 検索にマッチした行からnumber行上を表示する。 
- -e - パターンマッチを指定して検索ができる。 - 例: - sample1.txtの中から- 1または- 2の文字を含む行を表示する。- 1 
 2
 3
 4- # grep -e 1 -e 2 sample1.txt 
 01
 02
 10
- -v - 指定した文字列にマッチしない行を表示する。 
- -i - 大文字小文字を区別しない。 
なお、grepはもっと機能があり、是非manでチェックしてもらいたい。
また、パイプでつげて、grepを複数書くこともできる(少しぶかっこうではあるが)。
まずは、目的のものを思い通りに表示できる手法を身につけ、そこからスマートなやり方を考えると時間はかかるかもしれないが着実にものにすることができるだろう。