現在、大きな (8.1 GB) アクセス ログ ファイルを処理する awk スクリプトを実行していますが、完了するまでに時間がかかります。20 分で、(1000 +- 500)MB の 14MB を書き込みました。
awk スクリプトは次のとおりです。
#!/ビン/バッシュ awk '{t=$4" "$5; gsub("[\[\]\/]"," ",t); sub(":"," ",t);printf("%s,",$1);system("date -d \""t"\" +%s");}' $1
編集:
awker 以外の場合、スクリプトは各行を読み取り、日付情報を取得し、それをユーティリティdate
が認識する形式に変更し、それを呼び出して 1970 年からの秒数として日付を表し、最終的にそれを .csv ファイルの行として返します。 、IP とともに。
入力例: 189.5.56.113 - - [2010/01/22:05:54:55 +0100] "GET (...)"
返される出力: 189.5.56.113,124237889