我有一个txt文件,其内容如下。我正在尝试只保留12之类的值,[email protected]并删除方括号,引号,逗号和密钥。有人可以帮助我我所错过的内容或命令行出错吗?谢谢!
{
"id": 12,
"email": "[email protected]",
"first_name": "Rachel",
"last_name": "Howell",
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/hebertialmeida/128.jpg",
}
现在,我可以输出的结果是
{
12,
"[email protected]",
"Rachel",
"Howell",
"https://s3.amazonaws.com/uifaces/faces/twitter/hebertialmeida/128.jpg",
}
我期望的是:
12
[email protected]
Rachel
Howell
https://s3.amazonaws.com/uifaces/faces/twitter/hebertialmeida/128.jpg
这是我的命令:
sed -e 's/[{]//g' | cut -d':' -f '2' test.txt
使用jq,它将是:
jq -r '.[]' file
如果您只想使用sed cut和grep,我建议您::>
sed "s/}//g;s/{//g;s/\"//g;s/,//g;s/\ //g" test.txt | cut -d":" -f2 | egrep "..*"
但是还有更有效的方法。
-
编辑:命令描述:
sed“ s /} // g; s / {// g; s / \” // g; s /,// g; s / \ // g“
->删除{}“,
cut -d“:” -f2
->仅占第二部分
egrep“ .. *”
->仅采用包含某些内容的行