-
JSON的特点
2018-06-06 15:32:50JSON 主要具有以下特性,这些特性使它成为理想的数据交换语言:JSON 是轻量级的文本数据交换格式JSON 具有自我描述性,更易理解JSON 采用完全独立于语言的文本格式:JSON 使用 JavaScript 语法来描述数据对象,但是 ...JSON 主要具有以下特性,这些特性使它成为理想的数据交换语言:
- JSON 是轻量级的文本数据交换格式
- JSON 具有自我描述性,更易理解
- JSON 采用完全独立于语言的文本格式:JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前常见的动态编程语言(PHP,JSP,.NET)都支持JSON。
JSON 是存储和交换文本信息的一种语法,它与XML具有相同的特性,是一种数据存储格式,却比 XML 更小、更快、 更易于人编写和阅读、更易于生成和解析。
类似于 XML 的特性:
- JSON 是纯文本
- JSON 具有“自我描述性”(人类可读)
- JSON 具有层级结构(值中存在值)
- JSON 可通过 JavaScript 进行解析
- JSON 数据可使用 AJAX 进行传输
相比 XML 的不同之处:
- 没有结束标签
- 更短
- 读写的速度更快
- 能够使用内建的 JavaScript eval() 方法进行解析
- 使用数组
- 不使用保留字
请看一个简单实例:
<html>
<body>
<p>
weibo: <span id="weibo"></span><br />
github: <span id="github"></span>
</p>
<script type="text/JavaScript">
var JSONObject= {
"weibo": "https://weibo.com/leiqikui" ,
"github": "https://github.com/leiqikui"
};
document.getElementById("weibo").innerHTML=JSONObject.weibo;
document.getElementById("github").innerHTML=JSONObject.github;
</script>
</body>
</html>
在浏览器中运行以上代码,得到的结果为:
weibo: https://weibo.com/leiqikui
github: https://github.com/leiqikui
-
完全从零开始的爱好操作系统:引导程序,内核,驱动程序,C库和用户空间,包括复合图形UI,动态链接器,...
2021-01-31 19:12:32演示ToaruOS的UI,终端仿真器和文本编辑器。 历史 ToaruOS项目于2010年12月开始,其根源于一个独立的学生项目。 该项目的目标在整个历史过程中都发生了变化,最初是作为作者的学习经验,最近是一个完整的,从零开始... -
JS—可能的文本题
2020-01-08 17:38:32js的特点:动态类型,弱类型,跨平台性,简单性、兼容性差 第二章 5种原始数据类型:Number、String、Boolean、Undefined、Null 程序 = 数据 + 算法 任何复杂的程序算法都可以通过顺序 分支...- this的用法
- 构造函数的调用,this指代创建的实例对象
- 元素结点对象中的事件属性中的方法函数中的this指向当前触发事件的元素
第一章
- js作用:实现网页交互效果或动态效果
- js是一种基于对象和事件驱动并具有安全性的脚本语言,是一种计算机客户端脚本语言,主要在Web浏览器解释运行(不需要进行编译)
- js的特点:动态类型,弱类型,跨平台性,简单性、兼容性差
第二章
- 5种原始数据类型:Number、String、Boolean、Undefined、Null
- 程序 = 数据 + 算法
- 任何复杂的程序算法都可以通过顺序 分支 循环三种基本程序逻辑组合实现
第三章
- 代码设计的原则:可重复利用
- 函数的要素:函数名,函数的参数,函数的返回值
- 匿名函数:没有函数名的函数,但该函数必须马上执行或者赋值给一个变量
- 全局变量
- 在函数之外定义,或者没有通过var声明的变量
- 作用范围是同一个页面文件的所有脚本
- 局部变量
- 通过var声明且定义在函数体之内的变量
- 只作用于该函数体
- 事件处理函数:
- 触发事件处理函数的事件称为 触发事件
- js程序是基于事件驱动
第四章
- forEach函数
- 功能:对数组的每个元素执行一次提供的函数
- 语法:arr.forEach(function(currentValue,index,arr){})
- currentValue 必选。当前元素
- index 可选。当前元素的索引值
- arr 可选。当前元素所属的数组对象
第五章
- 构造函数的调用,this指代创建的实例对象
- 构造函数
- 定义:函数名称首字母大写,内部使用this指代实例对象
- 调用:new关键字调用构造函数
- 对象分类:宿主对象,内置对象,自定义对象
第六章
- js的组成:BOM DOM ECMAscript
- BOM(Browser Object Model):浏览器对象模型
- DOM(Document Object Model):文档对象模型
第七章
- 节点:文档节点,元素节点,文本节点,注释节点
- 节点属性操作:获取,设置,删除,判断
- 获取节点元素的方法
- 通过id属性获得节点(ID选择器)
- 通过标签名获得所有同名的标签(标签选择器)
- 通过类名获得所有类名相同的标签(类选择器)
第八章
第九章
第十章
-
awk:处理复杂文本格式
2018-09-16 18:14:15它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk...awk特点
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。
1. awk是一种编程语言,用于对文本和数据进行处理的
2. 具有强大的文本格式化能力
3. 利用命令awk,可以将一些文本整理成为我们想要的样子
4. 命令awk是逐行进行处理的
一般日志过滤处理主要有以下几种方式:
1.查找关键日志grep
2.精简日志内容 sed
3.对记录进行排序sort
4.统计日志相关记录数 awkawk命令
awk [options] 'pattern{action}' file
完整格式:
awk [-F|-f|-v] ‘BEGIN{ commands } pattern{ commands } END{ commands }’ file
- [-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value
一个awk脚本通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成,这三个部分是可选的。
- 第一步:执行BEGIN{ commands }语句块中的语句;
- 第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行重复这个过程,直到文件全部 被读取完毕。
- 第三步:当读至输入流末尾时,执行END{ commands }语句块。
BEGIN语句块在awk开始从输入流中读取行之前被执行,这是一个可选的语句块,比如变量初始化、打印输出表格的表头等语句通常可以写在BEGIN语句块中。
END语句块在awk从输入流中读取完所有的行之后即被执行,比如打印所有行的分析结果这类信息汇总都是在END语句块中完成,它也是一个可选语句块。
pattern语句块中的通用命令是最重要的部分,它也是可选的。如果没有提供pattern语句块,则默认执行{ print },即打印每一个读取到的行,awk读取的每一行都会执行该语句块。
awk变量:
- $0 表示整个当前行
- $1 每行第一个字段
- NF 字段数量变量
- NR 每行的记录号,多文件记录递增
- FNR 与NR类似,不过多文件记录不递增,每个文件都从1开始
- \t 制表符
- \n 换行符
- FS BEGIN时定义分隔符
- RS 输入的记录分隔符, 默认为换行符(即文本是按一行一行输入)
- ~ 匹配,与==相比不是精确比较
- !~ 不匹配,不精确比较
- == 等于,必须全部相等,精确比较
- != 不等于,精确比较
- && 逻辑与
- || 逻辑或
- + 匹配时表示1个或1个以上
- /[0-9][0-9]+/ 两个或两个以上数字
- /[0-9][0-9]*/ 一个或一个以上数字
- FILENAME 文件名
- OFS 输出字段分隔符, 默认也是空格,可以改为制表符等
- ORS 输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕
- -F'[:#/]' 定义三个分隔符
awk中的pattern模式
当awk进行逐行处理时,会把pattern作为条件,判断当前行是否满足条件,若跟pattern匹配,则进行后面的处理,否则,跳过当前行。
1. 正则表达式
awk下的正则表达式与grep下的区别:
1)awk下: awk '/正则表达式/{print}' /etc/passwd
2)grep下: grep "正则表达式" /etc/passwd
需要注意的是
1)在awk的正则表达式中,若出现"/",则需要进行转义,在其前面加"\"
2)当使用{x,y}类型次数匹配的正则表达式时,需要使用--posix选项或--re-interval选项
2. 行范围匹配
awk '/正则表达式1/,/正则表达式2/{action}' file
表示的是,从被正则表达式1匹配到的行开始,到被正则表达式2匹配到的行结束,之间所有的行都会执行对应的动作。
关系运算符
关系运算符 含义 用法实例 < 小于 x<y <= 小于等于 x<=y > 大于 x>y >= 大于等于 x>=y == 等于 x==y != 不等于 x!=y ~ 匹配 x~/正则表达式/ !~ 不匹配 x!~/正则表达式/ awk高级用法
1.awk赋值运算
赋值语句运算符:= += -= *= /= %= ^= **=例如:a+=5;等价于a=a+5
[root@localhost ~]# awk 'BEGIN{a=5;a+=5;print a}' 10
2.awk正则运算
输出包含有root的行,并打印用户名和UID及原行内容[root@localhost ~]# awk -F: '/root/ {print $1,$3,$0}' /etc/passwd root 0 root:x:0:0:root:/root:/bin/bash operator 11 operator:x:11:0:operator:/root:/sbin/nologin
我们发现找到了两行,如果我们想找root开头的行就要这样写:awk -F: '/^root/' /etc/passwd
3.awk三目运算
[root@localhost ~]# awk 'BEGIN{a="b";print a=="b"?"ok":"err"}' ok [root@localhost ~]# awk 'BEGIN{a="b";print a=="c"?"ok":"err"}' err
三目运算其实就是一个判断运算,如果为真则输出?后的内容,如果为假则输出:后的内容
4.awk的循环运用
if语句运用[root@localhost ~]# awk 'BEGIN{ test=100;if(test>90){ print "very good";} else{print "no pass";}}' verygood
每条命令后用;结尾
while循环运用
计算从1累加到100的值[root@localhost ~]# awk 'BEGIN{test=100;num=0;while(i<=test){num+=i; i++;}print num;}' 5050
for循环的运用
[root@localhost ~]# awk 'BEGIN{test=0;for(i=0;i<=100;i++){test+=i;}print test;}' 5050
do循环的运用[root@localhost ~]# awk 'BEGIN{test=0;i=0;do{test+=i;i++}while(i<=100)print test;}' 5050
5.awk的数组运用
数组是awk的灵魂,处理文本中最不能少的就是它的数组处理。因为数组索引(下标)可以是数字和字符串在awk中数组叫做关联数组(associative arrays)。
awk 中的数组不必提前声明,也不必声明大小。
数组元素用0或空字符串来初始化,这根据上下文而定。
一般而言,awk中的数组用来从记录中收集信息,可以用于计算总和、统计单词以及跟踪模板被匹配的次数等等。
显示/etc/passwd的账户awk -F: 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd 0 root 1 bin 2 daemon 3 adm 4 lp 5 sync ........................................................................
6.awk字符串函数的运用
函数名 描述
sub 匹配记录中最大、最靠左边的子字符串的正则表达式,并用替换字符串替换这些字符串。如果没有指定目标字符串就默认使用整个记录。替换只发生在第一次匹配的 时候sub (regular expression, substitution string):
sub (regular expression, substitution string, target string)实例:
awk '{ sub(/test/, "mytest"); print }' testfile awk '{ sub(/test/, "mytest"); $1}; print }' testfile
第一个例子在整个记录中匹配,替换只发生在第一次匹配发生的时候。如要在整个文件中进行匹配需要用到gsub
第二个例子在整个记录的第一个域中进行匹配,替换只发生在第一次匹配发生的时候。
gsub 整个文档中进行匹配
gsub (regular expression, substitution string)
gsub (regular expression, substitution string, target string)实例:
awk '{ gsub(/test/, "mytest"); print }' testfile awk '{ gsub(/test/, "mytest" , $1) }; print }' testfile
第一个例子在整个文档中匹配test,匹配的都被替换成mytest。
第二个例子在整个文档的第一个域中匹配,所有匹配的都被替换成mytest。
index 返回子字符串第一次被匹配的位置,偏移量从位置1开始
index(string, substring)实例:
awk '{ print index("test", "mytest") }' testfile
实例返回test在mytest的位置,结果应该是3。
substr 返回从位置1开始的子字符串,如果指定长度超过实际长度,就返回整个字符串
substr( string, starting position )
substr( string, starting position, length of string )实例:
awk '{ print substr( "hello world", 7,11 ) }'
上例截取了world子字符串。
split 可按给定的分隔符把字符串分割为一个数组。如果分隔符没提供,则按当前FS值进行分割
split( string, array, field separator )
split( string, array )实例:
awk '{ split( "20:18:00", time, ":" ); print time[2] }'
上例把时间按冒号分割到time数组内,并显示第二个数组元素18。
length 返回记录的字符数
length( string )
length实例:
awk '{ print length( "test" ) }' awk '{ print length }' testfile
第一个实例返回test字符串的长度。
第二个实例返回testfile文件中第条记录的字符数。
match 返回在字符串中正则表达式位置的索引,如果找不到指定的正则表达式则返回0。match函数会设置内建变量RSTART为字符串中子字符串的开始位 置,RLENGTH为到子字符串末尾的字符个数。substr可利于这些变量来截取字符串
match( string, regular expression )实例:
awk '{start=match("this is a test",/[a-z]+$/); print start}' awk '{start=match("this is a test",/[a-z]+$/); print start, RSTART, RLENGTH }'
第一个实例打印以连续小写字符结尾的开始位置,这里是11。
第二个实例还打印RSTART和RLENGTH变量,这里是11(start),11(RSTART),4(RLENGTH)。
toupper和tolower 可用于字符串大小间的转换,该功能只在gawk中有效
toupper( string )
tolower( string )实例:
awk '{ print toupper("test"), tolower("TEST") }'
-
java 文本文件读取_Java如何读取文本文件
2021-02-12 13:34:43Java如何读取文本文件Java具有简单性、面向对象、分布式、健壮性、安全性、平台的独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。以下是小编为...Java如何读取文本文件
Java具有简单性、面向对象、分布式、健壮性、安全性、平台的独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。以下是小编为大家搜索整理的java如何读取文本文件,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!
下面的代码是读取文本文件的'例子,程序会读取text.txt文件,并将它的内容显示出来。
1 import java.io.BufferedReader;
2 import java.io.File;
3 import java.io.FileReader;
4 import java.io.FileNotFoundException;
5 import java.io.IOException;
6
7 public class ReadTextFileExample
8 {
9 public static void main(String[] args)
10 {
11 File file = new File("test.txt");
12 StringBuffer contents = new StringBuffer();
13 BufferedReader reader = null;
14
15 try
16 {
17 reader = new BufferedReader(new FileReader(file));
18 String text = null;
19
20 // repeat until all lines is read
21 while ((text = reader.readLine()) != null)
22 {
23 contents.append(text)
24 .append(System.getProperty(
25 "line.separator"));
26 }
【Java如何读取文本文件】相关文章:
-
python程序设计语言的两个特点_计算机语言的特点
2020-12-18 23:18:13语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。特性:PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法;PHP可以比CGI或者Perl更快速的执行动态网页——... -
什么是动态页面与静态页面
2017-07-13 10:12:42经常有网站建设公司说我们采用静态页面,不是动态页页,那么什么是静态页面,什么是动态页面,下面我们简单的介绍一下: ...静态网页与动态的区别与特点 程序是否在服务器端运行,是重要标志。在服务 -
2016/3/10 PHP (超文本预处理器) 是什么?
2016-03-10 01:37:00语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的... -
静态网页与动态网页的区别
2019-03-10 18:55:00在超文本标记语言格式的网页上,也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字幕等,这些“动态效果”只是视觉上的, 二、静态网页的特点 1.静态网页每个网页都有一个固定的URL,且网页URL以.htm、.... -
网页的动态内容与静态内容的区别
2018-05-05 15:22:36今天有人问我网页的动态内容与静态内容有什么区别,我不假思索直接回答:动态内容就是有动画效果显示的呗,静态内容就是纯文本内容呗。同事邪魅一笑,告诉我了如下答案: 静态网页和动态网页各有特点,网站采用动态... -
动态规划
2019-07-11 13:53:29动态规划动态规划的基本思想动态规划的特点动态规划的本质适用场景例一:斐波那契数列例二 变态青蛙跳台阶新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的... -
html 和jsp的特点以及区别
2019-03-25 12:42:33html 和jsp的特点以及区别 HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性语言呢?因为,只要你有一个浏览器那么它就可以正常显示出来,而不需要指定... -
web——静态网页和动态网页的区别
2020-08-05 23:05:14静态网页主要指的是网页中没有程序代码,只有HTML(即:超文本标记语言)。 静态网页的页面一旦做成,内容就基本上不会再改变了。但是,静态网页也包括一些能动的部分,这些主要是一些GIF动画等。 静态网页的打开,... -
动态语言概述
2020-06-18 20:10:19脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。(弱类型语言) 动态语言特点 动态语言(JavaScript,VBscript等)... -
PHP (超文本预处理器)
2017-07-30 23:46:00语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的... -
Vue动态创建组件方法
2018-10-29 16:47:00组件写好之后有的时候需要动态创建组件。...富文本编辑器也就是第三方的组件,需要绑定一个值就跟input一样,但是其他的和平常都是一样的,根据这个特点我们就可以使用Vue的for循环去动态创建例如 <div> ... -
web概述,html概述及常用标签,文本处理
2020-12-08 17:12:14web概述 ...文本处理 常用标签 web概述: web三要素: 浏览器:向服务器发起请求,下载服务器中的网页(HTML),然后执行...动态的 交互的 HTML概述 什么是HTML: 超文本标记语言(HyperText Markup Language,HTM. -
WinCE脚本解析程序(写写文本就能做很多意想不到的事情)
2012-09-04 21:49:29此程序涉及到一些Windows和C语言的基础知识,包括文件系统、注册表、进程、线程、窗口、事件、消息、进程间与线程间通信、脚本、动态库、递归、回调、多维指针、函数指针、数据结构、加密算法等。 -
PHP 特点
2018-08-04 09:37:47在 PC 上安装 web ... ... 的首字母缩略词 PHP 是一种被广泛使用的开源脚本语言 ... ...PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码 PHP 代码在服务器上执行,而结果以纯文本返回浏览器 ...PHP 能够生成动态页面内... -
Elasticsearch如何动态维护一个不可变的倒排索引
2018-03-15 21:34:35上一篇文章中介绍了Elasticsearch中是如何搜索文本的,同时也简述了在es里面索引数据结构的特点不可变性。 索引不可变性的缺点限制了单个索引存储的最大数据量以及更新的频次,所以es面临的问题是如何解决倒... -
gd动态曲线 php_php工作的原理,它的功能有那么强大吗,让程序袁来为你道道
2021-01-03 23:52:06它融合了c、java、perl语言一些好的特点成为网站开发最佳的工具。PHP、Apache和MySQL的组合已经成为Web服务器的标配,php可以做很多事情,PHP是服务端的脚本程序,需要安装php应用程序去解释执行,简单来说p... -
php mysql动态_精通PHP+MySQL动态网站开发
2021-01-19 10:57:28第1章 初识PHP1.1 PHP的发展1.1.1 PHP的概念1.1.2 PHP的发展历程1.2 PHP的应用领域1.3 PHP的特点1.4 PHP常用开发工具1.4.1 PHP代码开发工具1.4.2 网页设计工具1.4.3 文本编辑工具1.5 高手私房菜第2章 HTML与... -
静态网页与动态网页
2015-03-11 21:00:20经常有网站建设公司说我们采用静态页面,不是动态页页,那么什么是静态页面,什么是动态页面,下面我们简单的介绍一下: 静态网页,动态网页主要根据网页...静态网页与动态的区别与特点 程序是否在服务器端运行 -
动态网页与静态网页
2013-08-10 08:55:00经常有网站建设公司说我们采用静态页面,不是动态页页,那么什么是静态页面,什么是动态页面,下面我们简单的介绍一下:...静态网页与动态的区别与特点程序是否在服务器端运行,是重要标志。在服务器端运行的程序、... -
超文本预处理器——PHP(基础)
2016-11-03 20:42:02语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的... -
动态网站开发与全程实例 PHP+MYSQL
2015-09-10 13:34:501.3 PHP 的特点及其与其它语言的比较 1.4 PHP 常用开发工具 案例 1 登陆 Internet 了解 PHP 的应用情况 本章小结 练 习 题 第2章 预备知识:HTML与JavaScript 2.1 什么是HTML 2.2 HTML的文本标记及属性 2.3 插入...
-
shell实例-跨目录执行,彩色输出,临时文件,行遍历文件
-
程序员必修基础套餐课
-
C++ Primer Plus 学习记录——复合类型1
-
使用双模环形谐振器的宽带共模抑制平衡滤波器
-
微信读书APP协议阅读 2021-2-26
-
voc_trainer-源码
-
NFS 网络文件系统
-
培训讲师的要求.pdf
-
2021 PHP租车系统 毕业设计 毕设源码 源代码使用教程
-
泰勒诺迪克-源码
-
PPTP_NNN 服务生产环境实战教程
-
PPT大神之路高清教程
-
vue面试题
-
MFC界面开发工具BCG v31.1 - 实现自动隐藏滚动条
-
Samba 服务配置与管理
-
factory_bot_rails:工厂机器人:heart_suit:Rails-源码
-
具有多个传输零点的高选择性宽带平衡滤波器
-
shell实例流程控制&函数
-
Java发起http请求
-
Unity 热更新技术-ILRuntime