嗨,我正在文件中使用以下内容,我希望打印shortversion的值,
{
"app_versions": [
{
"version": "15",
"shortversion": "0.0.15",
"title": "java expert",
"timestamp": 1469530069,
"appsize": 3436229,
"notes": ,
"mandatory": false,
"external": false,
"device_family": null,
"id": 9,
"app_id": 356250,
"minimum_os_version": "4.1",
,
{
"version": "7",
"shortversion": "0.0.7",
"title": "java expert",
"timestamp": 1469528889,
"appsize": 3436225,
,
{
"version": "3",
"shortversion": "0.0.3",
"title": "javaExpert",
"timestamp": 1469209202,
"appsize": 3420965,
我如何使用sed打印简短版本首次出现的值,我已经使用以下awk命令获取shortversion
awk -F'"' '/\"shortversion\"/{print $10;}'
read.version此命令生成的0.0.15
输出是正确的,但文件正在获取动态生成的,需要您的宝贵帮助 最佳答案
使用诸如jq
之类的命令行JSON解析器来解析JSON输入更具模块化。如果将来您的JSON对象树发生更改,维护脚本会更容易。
您可以使用以下命令获取shortversion
数组的第一个元素:
jq -r ". | .app_versions[1].shortversion" your_file.json
关于linux - 搜索字符串的首次出现并在linux中打印其值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38607259/