【发布时间】:2020-10-28 21:56:16
【问题描述】:
我在 JSON 文本文件中有此内容:
{"cdate":"2020-09-01T23:11:46-02:00","email":"example_email@gmail.com","phone":"+66 9988 1234","firstName":"John","lastName":"Smith","orgid":"0","orgname":"","segmentio_id":"","bounced_hard":"0","bounced_soft":"0","bounced_date":"0000-00-00","ip":"1234567","ua":"","hash":"jfepfjepjfewfe87","socialdata_lastcheck":"0000-00-00 00:00:00","email_local":"","email_domain":"","sentcnt":"27","rating_tstamp":"2019-09-22","gravatar":"1","deleted":"0","anonymized":"0","adate":"2020-08-21T04:11:09-05:00","udate":"2020-02-01T21:01:21-06:00",
这段文字都在一行上。
我想提取三个值:“email”、“firstName”和“lastName”。我用cut -d ":" -f 6,8,9。
这提供:
"example_email@gmail.com","phone":"John","lastName":"Smith","orgid"。然后我可以清理它。
问题是我在文件中有数百个类似的条目,并且它们的间距并不相同。所以我不能说cut的下一个用途应该是+50(或其他)。
我查看了 grep,但我不知道如何实现我的目标。理想情况下我想提取:
example_email@gmail.com 约翰 史密斯
我不在乎它是在一行上还是在三个单独的行上。
谢谢!
【问题讨论】: