используя jq vs grep / sed

Поиск текста твита с использованием следующего шаблона: e, "text":

Мне предложили не использовать grep и использовать jq, но jq кажется довольно сложным для новичка. Интересно, какие у меня варианты поиска шаблона, подобного выше, в json-файле, который содержит как 100 твитов. Вот фрагмент json-файла:

{ "favorited": false, "contributors": null, "truncated": false, "text": "RT @Shakti_Shetty: Hillary Clinton is killing it mad for the first time since Benghazi. \n\n#DebateNight", "is_quote_status": false, "in_reply_to_status_id": null, "user": { "follow_request_sent": false, "has_extended_profile": false, "profile_use_background_image": true, "time_zone": null, "id": 1082649110, "description": "words are who someone wants to be..\nACTIONS are who they truly are. if you want peace in life please don't assume don't over-think & be a nonjudgemental person", "default_profile": true, "verified": false, "entities": { "description": { "urls": [] } }, "profile_image_url_https": "https://pbs.twimg.com/profile_images/691152324291661824/kr2IsMs8_normal.jpg", "profile_sidebar_fill_color": "DDEEF6", "is_translator": false, "geo_enabled": false, "profile_text_color": "333333", "followers_count": 162, "protected": false, "id_str": "1082649110", "default_profile_image": false, "listed_count": 25, "lang": "en", "utc_offset": null, "statuses_count": 38396,

Вот еще один:

{ "favorited": false, "contributors": null, "truncated": true, "text": "Wikileaks: NYT\u2019s Amy Chozick Privately Praised Hillary for Strong Connection with Working Class\u2026 https://t.co/bXUEHwEccE", "possibly_sensitive": false, "is_quote_status": false, "in_reply_to_status_id": null, "user": { "follow_request_sent": false, "has_extended_profile": false, "profile_use_background_image": true, "time_zone": null, "id": 763916668171149312, "description": "We show you the truth Hot Breaking news, USA politics, Trump and conservative support", "default_profile": true, "verified": false, "entities": { "description": { "urls": [] } }, "profile_image_url_https": "https://pbs.twimg.com/profile_images/763917371702513664/IPlCWEqa_normal.jpg", "profile_sidebar_fill_color": "DDEEF6", "is_translator": false, "geo_enabled": false, "profile_text_color": "333333", "followers_count": 155, "protected": false, "id_str": "763916668171149312", "default_profile_image": false, "listed_count": 3, "lang": "es", "utc_offset": null, "statuses_count": 14162, "profile_background_color": "F5F8FA", "friends_count": 295, "profile_link_color": "1DA1F2", "profile_image_url": "http://pbs.twimg.com/profile_images/763917371702513664/IPlCWEqa_normal.jpg", "notifications": false, "profile_background_image_url_https": null, "profile_banner_url": "https://pbs.twimg.com/profile_banners/763916668171149312/1470967188", "profile_background_image_url": null, "name": "Politic Manager",

Сам файл очень большой, и я не знаю, где бы я мог свободно его делиться (предложения приняты).

В более широком масштабе у меня есть 500k этих json-файлов, которые мне нужно обрабатывать и подсчитывать количество твитов в них и извлекать другие типы информации, включая текст твита.

0
задан 16 January 2018 в 04:55

2 ответа

Я предполагаю, что ваш файл JSON содержит список твитов, например, вы получаете при сбросе временной шкалы из API Twitter.

Подсчитайте количество твитов:

jq '. | length' tweets.json

Получите поле text каждого твита:

jq '.[] | .text' tweets.json

Из поля text каждого твита введите часть, которая соответствует регулярному выражению leak.*:

jq '.[] | .text | scan("leak.*")' tweets.json
1
ответ дан 17 July 2018 в 22:56

Я предполагаю, что ваш файл JSON содержит список твитов, например, вы получаете при сбросе временной шкалы из API Twitter.

Подсчитайте количество твитов:

jq '. | length' tweets.json

Получите поле text каждого твита:

jq '.[] | .text' tweets.json

Из поля text каждого твита введите часть, которая соответствует регулярному выражению leak.*:

jq '.[] | .text | scan("leak.*")' tweets.json
1
ответ дан 24 July 2018 в 13:31

Другие вопросы по тегам:

Похожие вопросы: