awk编辑器提取文本内容
在iOS中处理文本的方式主要是增删改查,虽然使用XCode也可以进行文本编译,但是不灵活,需要处理下面两个地方;
- 需要配置Xcode工程,增加相应的文本资源;
- 需要编写相关的程序来处理;
其实系统提供的更加友好的方式来处理文本,那就是使用Shell工具;
grep 命令
grep 命令的格式
grep pattern file
Sed 文本编译器
sed 的全称是(stream editor),流式编译器的意思,主要通过流式的方式修改文本,例如替换,追加,删除;
文本替换
- 行号替换
sed '2,3s/red/green/g'
s 表示替换(substitute), g 表示替换所有的文本,2,3 表示行寻址范围;
- 匹配模式替换
Sed ‘/nick/s/red/green/g’ /partern/command, 代表的是一种匹配模式,只有匹配成功了,sed才会作用上面;
文本追加
- 插入(insert)命令(i)会在指定行前增加一个新行;
- 附加(append)命令(a)会在指定行后增加一个新行。
awk格式化输出文本
相对于sed,awk更加的灵活,可以自定义变量,也可以通过文本的长度来读取文本,用来处理程序的日志非常的方便;
下面是一个例子,用来提取日志里面的首包返回时间的信息,然后倒入excel,进行数据统计;
例子:
iOS-xx-第16包 连接时间:156ms,首包返回时间:434ms-文本:)。同样,我们可以用叫做光秒的更方便更新
通过awk命令匹配文本的例子,以下的例子用来格式化输出文本;
awk -F: '{gsub("ms-文本",""); print $5}' textIn.txt |sed /^$/d >> txtOut.txt
- 通过awk命令,指定
:为分隔符,读取分割后数组的第5个参数; - 讲第5个参数,
gsub("ms-文本","")表示将ms-文本替换成""空格; sed /^$/d删除多余的空格;>>>txtOut.txt结果保存到txtOut.txt的文件中;
输出的结果为:
434
文章介绍了在iOS环境中,如何使用awk和sed这两个命令行工具进行文本处理。awk更灵活,适合日志分析,如提取日志中的特定信息。sed则用于文本替换、追加和删除操作。示例中展示了如何使用awk从日志中提取首包返回时间并格式化输出。
520

被折叠的 条评论
为什么被折叠?



