$ cat prettify.sed
s/,/,\r\n/g
s/\[/\r\n\[\r\n/g
s/\]/\r\n\]\r\n/g
s/{/\r\n{\r\n/g
s/}/\r\n}\r\n/g
$ cat prettify.awk
BEGIN{ depth = 0;}
/\[/ {
sp = 0;
while(sp++ < depth)
printf(" ");
print $0; depth += 1;
} /{/ {
sp = 0;
while(sp++ < depth)
printf(" ");
print $0; depth += 1;
} /\]/ {
if (depth > 1)
depth -= 1; sp = 0;
while(sp++ < depth)
printf(" ");
print $0;
} /}/ {
if (depth > 1)
depth -= 1; sp = 0;
while(sp++ < depth)
printf(" ");
print $0;
} /".*":".*"/ {sp = 0;while(sp++ < depth)printf(" "); print $0;}
$ cat digitalstrategy.json | sed -f prettify.sed | awk -f prettify.awk | head -50
{
"agency":"NSF",
"generated":"2014-08-07 06:38:36",
[
{
"id":"2.1",
"due":"90 Days",
"due_date":"2012\/08\/21",
[
{
"type":"select",
"name":"2-1-status",
"label":"Overall Status",
[
{
"label":"Not Started",
"value":"not-started"
}
{
"label":"In Progress",
"value":"in-progress"
}
{
"label":"Completed",
"value":"completed"
}
]
"value":"completed"
}
]
}
{
"id":"2.1.1",
"parent":"2.1",
"text":"Paragraph on customer engagement approach",
"due":"90 days",
"due_date":"2012\/08\/21",
[
{
"type":"textarea",
"name":"2-1-1-customer-engagement-approach",
"label":"Paragraph on customer engagement approach",
[
]
}
]
}
{
"id":"2.1.2",
"parent":"2.1",

$ cat prettify.awk
BEGIN{ depth = 0;}
/\[/ {
# sp = 0;
# while(sp++ < depth)
# printf(" ");
# print $0; depth += 1;
} /{/ {
# sp = 0;
# while(sp++ < depth)
# printf(" ");
# print $0; depth += 1;
} /\]/ {
if (depth > 1)
depth -= 1; # sp = 0;
# while(sp++ < depth)
# printf(" ");
# print $0;
} /}/ {
if (depth > 1)
depth -= 1; # sp = 0;
# while(sp++ < depth)
# printf(" ");
# print $0;
} {sp = 0;while(sp++ < depth)printf(" "); print $0;}

最新文章

  1. FunDA(0)- Functional Data Access accessible to all
  2. python第十三天
  3. mac上使用生成RSA公钥和密钥
  4. php sso单点登录原理阐述
  5. [转]天龙八部的BillingServer
  6. 利用&lt;JavascriptSerializer类&gt; 进行Json对象的序列化和反序列化
  7. 收集一下Windows7系统啊
  8. 清理收缩VMware虚拟机MacOS系统的vmdk文件大小
  9. curl学习之curl_setopt参数设置大总结
  10. Android Context讲解(转)
  11. ps 替换背景以及调整尺寸
  12. CFX构建webservice实例,与Spring整合.
  13. Qt控件使用汇总
  14. Spring常用注解简单汇总
  15. 邮件发送(C#)
  16. 【转】TCP、UDP数据包大小的限制
  17. Hibernate缓存何时使用和如何使用
  18. 【FZU2280】Magic
  19. Centos6.5(Linux)安装Nginx
  20. Django调试models输出的SQL语句

热门文章

  1. Redis进行数据同步
  2. AJAX 获取Servlet文件路径
  3. java中关于异常的处理
  4. 69.Daily Temperatures(日常气温)
  5. Javascript 数组的一些操作
  6. rmdir -删除空目录
  7. Oracle 存储过程--01
  8. Codeforces 722E 组合数学 DP
  9. 左上角小猫猫直达博主GitHub \-_-/
  10. NET Core SDK 已安装在VS2017不可见