我有一个包含以下行的文件:
{u'phone_num':u'9999999999',u'name':u'abc',u'format':u'json'}
我正在尝试从每一行中提取电话号码,即9999999999。
我使用的sed无效。
echo "{u'phone_num': u'9999999999', u'name': u'abc', u'format': u'json'}" | sed 's/.*phone_num.*\([[:digit:]]\+).*/\1/'
这是打印整行而不仅仅是数字。
答案 0 :(得分:1)
您可以使用此sed:
sed "s/^{u'phone_num':[[:blank:]]*u'\([^']*\).*$/\1/" file
9999999999
答案 1 :(得分:1)
另一种使用awk
echo "{u'phone_num': u'9999999999', u'name': u'abc', u'format': u'json'}" | awk -F "'" '{ print $4 }'