logファイルを整形・加工 (運用・調査で役立つ)
正規表現
規則性がある形にまずしないと何も始まらない。
正規表現を使ってまず加工しやすい形を作る
・以下のようなファイルがあるとする
target=dfaaaaaaaaaaaaaffffsafdsfffsafsdaff<abc>......</abc>
other=asdfaaaaaaaaaaaaaffffaaaaffadddfdafff<abc>......</abc>
other=asdfaaaaaaaaaaaaaffffaaaafaaadfdsfsdafasfffff<abc>......</abc>
other=asdfaaaaaaaaaaaaaffffaaaaffdsdaffdffff<abc>......</abc>
target=dfaaaaaaaaaaaaaffffsafdsfffasff<abc>......</abc>
ありそうな抽出1
取り出したい値が<abc>
タグの中
テキストエディタで正規表現を有効にして削除(置換) 終端文字を指定
.*\<abc>
この後、</abc>
を削除すれば取り出せる
ありそうな抽出2
取り出したい値が最初に出現するffff
の前まで 開始文字を指定
ffff.*$
その他
複数スペースを一つのスペースにしたい
+ # (+の前に半角スペースを入れてます)
無駄な改行がある時に改行を消したい
\n+ を \n で置換
スプレッドシート、EXCEL
表形式で見る時や、比較などに便利。
表形式で見る
区切り文字があればそれをタブに置換してEXCELに貼ればOK
↓ 貼り付け
式を使う
一つのファイルをあるを分割して複数ファイルに分割したい
以下のCSVを県単位でファイルに吐き出したい。
県名,店舗名,住所
福岡県,aaaaa,xxxxxxxx
福岡県,bbbbb,xxxxxxxx
福岡県,ccccc,xxxxxxxx
福岡県,ddddd,xxxxxxxx
佐賀県,eeeee,xxxxxxxx
佐賀県,fffff,xxxxxxxx
佐賀県,ggggg,xxxxxxxx
佐賀県,hhhhh,xxxxxxxx
・
・
・
コマンドはこれでいけるとわかった。
cat out.csv | grep '福岡県' > 福岡県.txt
でも47都道府県分コマンド作るの面倒だな・・
そんな時はスプレッドシートを使うといい
↓
A列に都道府県
B列に式 ="cat out.csv | grep '"&A1&"' > "&A1&".txt"
を入れて47都道府県分コピーすればOK
ファイルの重複行を除外する
aaa
aaa
ccc
ccc
ddd
gfgf
ddd
fff
fff
aaa
以下コマンドを実行
sort aaa.txt | uniq
重複を除外しユニークになっている
aaa
ccc
ddd
fff
gfgf
その他
役に立ちそうなものがあれば追加していきます。
- JSONをCSVに簡単に変換する方法
https://qiita.com/yukiyoshimura/items/4c8d535ac79843d0fb0e
Author And Source
この問題について(logファイルを整形・加工 (運用・調査で役立つ)), 我々は、より多くの情報をここで見つけました https://qiita.com/yukiyoshimura/items/fac33d8e6b17a238a0c3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .