ShellでHTTPRequestログを精査 3
ShellでHTTPRequestログを精査 1 - xai1981's blog
shell スクリプトでファイルから1行ずつ読み込んだデータを正規表現を使って判断する - xai1981's blog
上記の続き~ って事でお次は、正規表現を使って、欲しい情報のみを別のファイルに書き出します。書き出す別ファイル名は、読み込ませたファイル名の先頭にアンダースコアを付け足して出力します。
1行ずつ読み込んで正規表現を使って欲しい情報のみを別ファイルに書き出すスクリプト
[root@kabosu ~]$ cat ./readline_one_expr_file_write.sh #!/bin/sh filename=$1 cat ${filename} | while read line do echo ${line} if expr "${line}" : ".*[A-Za-z].*"; then echo ${line} >> _${filename} fi done
テスト用の読み込みテキストデータ
[root@kabosu ~]$ cat data.txt 0000000000000000000 aaaaaaaaaaaaaaaaaaa 2222222222222222222 bbbbbbbbbbbbbbbbbbb 4444444444444444444 ccccccccccccccccccc 6666666666666666666 ddddddddddddddddddd 8888888888888888888 eeeeeeeeeeeeeeeeeee
実行結果
[root@kabosu ~]$ ./readline_one_expr_file_write.sh data.txt 0000000000000000000 0 aaaaaaaaaaaaaaaaaaa 19 2222222222222222222 0 bbbbbbbbbbbbbbbbbbb 19 4444444444444444444 0 ccccccccccccccccccc 19 6666666666666666666 0 ddddddddddddddddddd 19 8888888888888888888 0 eeeeeeeeeeeeeeeeeee 19
書き出したファイル(書き出す名前は _ +入力ファイル名)
[root@kabosu ~]$ cat _data.txt aaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbb ccccccccccccccccccc ddddddddddddddddddd eeeeeeeeeeeeeeeeeee
欲しいデータのみ、別ファイルに書き出す事が出来ました ^^