最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
jq使用举例
本文以firefox流量器的extensions.json文件的内容为例进行介绍,extensions.json文件存储了firefox安装的插件信息。如下图为jq的help信息,将介绍其中主要的命令参数的用法。
图1
格式化输出举例
多数的时候针对json格式的文件,第一步就是要读懂json 格式的文件,如下:
图2
图2可以看到使用jq . 命令就会按照键值对的形式每行进行显示,我的shell还默认针对键值对进行了着色,比之cat,more等命令来说,更加容易理解json的格式。但是有一个缺点就是该文件的行数太多,如何快速的了解该Json文件的大致内容呢,见如下的查询部分。
查询和过滤举例
该文件比较大,有哪些键值对呢,如下:
图3
图4
- 由于文件比较大,图3先试用keys过滤器过滤出该json文件有哪些键值,其中addons由图2可知是一个数据。
- 因此使用.addons|length过滤器查询该数组的长度,需要注意的是其中的竖符号不是利用的shell的管道,而是jq内置的管道,所以该过滤器需要使用引号进行闭合,用来哦和shell管道符进行区分。
- 知道了长度之后,可以该json文件主要由该数组中的每一个元素组成。由于屏幕无法显示完全,因此针对数组来说查看第一个数组的内容。
- 图4则是查看数组中第一个对象包含哪些键值,同时查看addons数组中每一对象的id键值对应的值是什么,即firefox安装哪些扩展 。
通过图3和图4的命令,基本上对于该文件的层状结构有着整体的认识。其中涉及到过滤器中的keys,length,管道符|,数组[]等功能,关于jq更多的内置功能,详见这里。
修改和更新举例
图5
图5是修改某个键的值,方法很简单,直接通过过滤器定位到对应的键值,然后赋值即可,需要注意的是,这种方式并没有修改源文件,如果想要修改文件,直接利用Linux的重定向符>输出到文件中即可。
图6
图6通过+号内置功能增加一行嵌套,但是由于只在数据的第一个元素中增加了一项,因此破坏数组的格式,不能再使用jq处理,因此使用head文本显示,可以看到数组addons[0]增加可一项,需要注意的是,这种方式并没有修改源文件,如果想要修改文件,直接利用Linux的重定向符>输出到文件中即可。
图7
图7通过del函数删除addons数组中的第一项,可以看到成功删除之后数组长度变短,同时查看删除后数据的第一个元素,和和图3不一样,因为他们的syncGUID是不一样的。
结合管道举例
Linux命令都是可以通过管道符|进行输入和输出的,如下:
图8
上述的图中都是通过jq直接读入文件,也可以通过cat命令传递给jq命令实现文件的读取,然后再输出给tail命令读取最后十行的内容
图形界面举例
除了命令行的方式,jq还提供图形界面的方式,像很多的在线网站一样,如下:
图9
UI界面针对少量的数据比较直观,针对大量的数据,没有命令行方便快捷。同时过个命令通过管道符进行配合可以实现的能力更为强大。
变量和函数举例
除了上述的功能之外,jq还支持更多的内置函数,正则匹配,变量定义,函数定义,条件判断即类似编程的条件判断语句,更为高级的特性请参考这里。
本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。
文末
技术是没有终点的,也是学不完的,最重要的是活着、不秃。
零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。
最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。
高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。
技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。好好的准备一下简历,毕竟是找工作的敲门砖。
拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
几率就会大很多,加油吧,骚年!