xai1981's blog

http://twitter.com/xai1981

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

欲しいデータのみ、別ファイルに書き出す事が出来ました ^^

参考サイト