LoginSignup
1

More than 5 years have passed since last update.

BSONデータをbsondumpでJSONに変換する

Last updated at Posted at 2017-10-02

変換前にcatで表示させると文字化けするためJSONに変換する

変換コマンド

[root@localhost crowidb]# ls -lah
合計 2.3M
drwxr-xr-x. 2 root root 4.0K 10月 3 04:08 .
drwxr-xr-x. 7 root root 72 10月 2 22:05 ..
-rw-r--r--. 1 root root 1.3K 10月 2 22:05 attachments.bson
-rw-r--r--. 1 root root 321 10月 2 22:05 attachments.metadata.json
-rw-r--r--. 1 root root 86 10月 2 22:05 bookmarks.bson
-rw-r--r--. 1 root root 450 10月 2 22:05 bookmarks.metadata.json
-rw-r--r--. 1 root root 0 10月 2 22:05 comments.bson
-rw-r--r--. 1 root root 424 10月 2 22:05 comments.metadata.json
-rw-r--r--. 1 root root 1.5K 10月 2 22:05 configs.bson
-rw-r--r--. 1 root root 297 10月 2 22:05 configs.metadata.json
-rw-r--r-- 1 root root 13 10月 3 02:33 export.csv
-rw-r--r--. 1 root root 263K 10月 2 22:05 pages.bson
-rw-r--r--. 1 root root 762 10月 2 22:05 pages.metadata.json
-rw-r--r-- 1 root root 405K 10月 3 00:48 pages.txt
-rw-r--r--. 1 root root 739K 10月 2 22:05 revisions.bson
-rw-r--r--. 1 root root 99 10月 2 22:05 revisions.metadata.json
-rw-r--r-- 1 root root 819K 10月 3 04:08 revisions.txt
-rw-r--r-- 1 root root 1.3K 10月 2 22:05 searchwords.bson
-rw-r--r-- 1 root root 101 10月 2 22:05 searchwords.metadata.json
-rw-r--r--. 1 root root 2.7K 10月 2 22:05 system.indexes.bson
-rw-r--r--. 1 root root 0 10月 2 22:05 updateposts.bson
-rw-r--r--. 1 root root 214 10月 2 22:05 updateposts.metadata.json
-rw-r--r-- 1 root root 385 10月 2 22:05 user.bson
-rw-r--r-- 1 root root 94 10月 2 22:05 user.metadata.json
-rw-r--r--. 1 root root 1.4K 10月 2 22:05 users.bson
-rw-r--r--. 1 root root 515 10月 2 22:05 users.metadata.json
-rw-r--r-- 1 root root 116 10月 2 22:05 words.bson
-rw-r--r-- 1 root root 95 10月 2 22:05 words.metadata.json

変換コマンド

[root@localhost crowidb]# bsondump revisions.bson

検索コマンド

[root@localhost crowidb]# cat revisions.txt | grep -R -e 'test'

2017年10月分だけ抽出

grep -e '/user/test/日報/2017/10/' pages.txt | gawk '{ match($0, /"revision" : ObjectId. "([0-9a-f]+)"/, m ); print m[1];}' | awk '{system("grep -e " $0 " revisions.txt");}'

①日付でひっかけてObjectIdを表示させる
grep -e '/user/yamagami/日報/2017/10/' pages.txt

②ObjectIdの情報のみ表示させる
gawk '{ match($0, /"revision" : ObjectId. "([0-9a-f]+)"/, m ); print m[1];}'

③ObjectIdの情報を表示させる
awk '{system("grep -e " $0 " revisions.txt");}'

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1