grep ... global regular expression pattern (大域正規表現パターン)
パターンを含む行を取り出す。
正規表現(パターン)の基本
| a | a という1文字 |
| abc | abc という文字列 |
| . | 任意の1文字 |
| * | 直前のパターンの0回以上の繰り返し |
| .* | 任意の文字列 |
| ^ | 行のはじめ |
| ^A | 行のはじめが A |
| $ | 行の最後 |
| ko$ | 行の最後が ko |
| [ab] | a または b どちらか1文字 |
| [0-9A-Za-z] | 英数字の1文字 |
| [^0-9] | 数字以外の1文字 |
| \ | 次の特殊文字をそのまま使う |
| \[ | カギ括弧([)に一致 |
grep の使用例 (single quote ' でパターンを囲む必要があります)
% last | grep 02ss001 ... % last | grep 02ss ... % last | grep '0[12]ss' ... % last | grep -v shutdown ... % cd ~/coreinfo % grep '^A' friends Aya Atsuko Ayumi % grep '^A.*ko$' friends Atsuko |
awk ... Aho, Weinberger, Kernighan
パターンに一致したときアクションを行う。
アクションは { } で囲む(cshの特殊文字なのでエスケープが必要)
とりあえずアクション ... (もっと詳しくは昨年のレジュメ で)
| 印刷命令 | |
| $1 | 1番目の列(colum) |
| $NF | 最後の列 |
awk の利用
% last | awk '{ print $1 }'
...
% last | awk '{ print $1 }' | sort
...
% last | awk '{ print $1 }' | sort | uniq -c
...
% last | awk '{ print $1 }' | sort | uniq -c | sort -n
...
|
~/coreinfo ディレクトリで練習すること。
ウェブサーバへのアクセスはログに記録される。タイピング成績登録のログを ~tkikuchi/coreinfo/data/TX.log に置いてあるので、cp (コピー)コマンドを用いて、カレントディレクトリにコピーしなさい。(必要に応じてオンラインマニュアルを参照すること)
自分がアクセスした記録を grep によって取り出し、myaccess.log というファイルに入れなさい。
ログの形式では1番目のフィールドがホスト名、3番目のフィールドが認証ユーザ名となっている。ホスト名とユーザ名だけを表示しなさい。
ユーザ名を表示し、アクセス回数の多い10人とその回数を topten.log というファイルに入れなさい。
history コマンドの結果を hist6 というファイルに入れなさい。
<a href="http://www.is.kochi-u.ac.jp/~tkikuchi/>菊地のホームページ