【发布时间】:2016-07-27 08:06:22
【问题描述】:
您好,我在文件中使用以下内容,我希望打印 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 命令获取短版本awk -F'"' '/\"shortversion\"/{print $10;}' read.version 此命令生成0.0.15 的输出,这是正确的,但是文件正在动态生成,需要您的宝贵帮助
【问题讨论】:
-
请格式化您的问题:stackoverflow.com/editing-help
-
为什么需要和sed一起使用?为什么“文件正在动态生成”很重要?您发布的 awk 脚本不会根据您发布的输入产生您所说的输出 - edit 您的问题本身是准确且一致的。
-
我认为编辑应该被反转,直到并且除非 OP 确认输入确实是在单独的行中提供的。原始帖子暗示输入是在一行中提供的(因此使用
$10)。