仅在Twitter JSON文件的一个元素/数组中进行筛选



我从Streaming API抓取了twitterJSON文件,得到了一个包含数千行JSON数据的文件。然而,该数据包含许多元素,如"创建日期"《来源》的"推特文本"

有没有办法只在一个特定的字段中过滤这个JSON(在我的情况下,它是"tweet text"字段)。

下面是一个JSON行的示例:

{"created_at":"Tue Aug 20 03:48:27 +0000 2013","id":369667218608369666,"id_str":"369667218608369666","text":"@Mattyb_chyeah_ yeah I'm only watching him! :)","source":"u003ca href="http://twitter.com/download/iphone" rel="nofollow"u003eTwitter for iPhoneu003c/au003e","truncated":false,"in_reply_to_status_id":369666992334073856,"in_reply_to_status_id_str":"369666992334073856","in_reply_to_user_id":1557571363,"in_reply_to_user_id_str":"1557571363","in_reply_to_screen_name":"Mattyb_chyeah_","user":{"id":1325959333,"id_str":"1325959333","name":"MattyBRapsTexas","screen_name":"MattyBRapsTexas","location":"Atlanta,Georgia","url":"http://www.instagram.com/mattybrapstexas","description":"3 RT 6 Mentions He followed me on 4/15/13 6/17/13 Maddi Jane followed me on 6/18/13 @8:25pm! Cimorelli also follows Pizza Hut mentioned me 2 times on 7/26/13","protected":false,"followers_count":1095,"friends_count":426,"listed_count":8,"created_at":"Thu Apr 04 02:34:56 +0000 2013","favourites_count":226,"utc_offset":-14400,"time_zone":"Eastern Time (US & Canada)","geo_enabled":false,"verified":false,"statuses_count":3447,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"C0DEED","profile_background_image_url":"http://a0.twimg.com/images/themes/theme1/bg.png","profile_background_image_url_https":"https://si0.twimg.com/images/themes/theme1/bg.png","profile_background_tile":false,"profile_image_url":"http://a0.twimg.com/profile_images/378800000313651225/afee0cc2286882eeb15f21ed7fae334a_normal.jpeg","profile_image_url_https":"https://si0.twimg.com/profile_images/378800000313651225/afee0cc2286882eeb15f21ed7fae334a_normal.jpeg","profile_banner_url":"https://pbs.twimg.com/profile_banners/1325959333/1376759786","profile_link_color":"0084B4","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"default_profile":true,"default_profile_image":false,"following":null,"follow_request_sent":null,"notifications":null},"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":0,"favorite_count":0,"entities":{"hashtags":[],"symbols":[],"urls":[],"user_mentions":[{"screen_name":"Mattyb_chyeah_","name":"MattyB (u2661_u2661u2740)","id":1557571363,"id_str":"1557571363","indices":[0,15]}]},"favorited":false,"retweeted":false,"filter_level":"medium","lang":"en"

grep正则表达式使用了什么?如果你只是在regex中使用"iphone",那么是的,你会得到多个点击。您可以扩展您的正则表达式以匹配iphone,仅在源代码之前的文本部分:

grep '"text":".*iphone.*","source":' myfile.txt

将在CCD_ 3之后但在"source"之前搜索图案CCD_。它将忽略行的其余部分中的iphone