计算两个时间相隔, 同时思考脚本语言
2016-01-03 20:36
309 查看
任务
[2016-12-31 15:59:14.383] INFO需要把Log中类似这样的串提取出来,并转换为时间。
Java做法
Java 计算两个日期相差的天数JAVA计算两个时间差
可以做成jar包来处理
不然这么简单的内容,如果用jar是不是太低效了?至少yadong用jar是为了处理Excel这种复杂表格式数据
Shell, perl的对比
PS: 学习充分掌握一个工具的【用途】,但不是学习它的功能 --- 学以致用文本操作就是正则式,《精通正则表达式》说,掌握了正则表达式,问题就能很easy处理,不然就无比难。
shell的提取子串要借助 grep, sed的正则式找到匹配的行(串), 而awk, cut负责cut出子串。为了方便提取,也可以通过正则式先做替换,或者用tr,便于之后的处理(所谓的命令组合的强大)(再看看自己写的logeject.sh)(Shell脚本中经常用到的工具有cut、tr、grep、sort、uniq、re、sed、awk等。)
(提取子串应该是正则式的终极应用之一了,也能验证出语言对正则式的支持程度)
这样确实低效,就不难理解为何会出现perl了。
check
if string match a regex in BASH Shell script
How
to extract a value from a string using regex and a shell?
Shell编程 字符串子串的提取
awk + cut方法如:a=“aaa字符串处理”
echo “aaa字符串处理” | awk -F符 '{print $2}' | cut -c 1,2
shell脚本抽取制定字符串、grep+awk+cut+sed
知乎:
Perl、Python、AWK、sed 之间有哪些区别?处理文本使用那种脚本语言比较好?理由是什么?
perl在文本、字符串处理中比python、ruby到底强在哪里?
perl提取子串的例子:
Searching
for a substring in a string in shell script [duplicate]
Python & perl的比较
就像知乎所描述,python是个全能战士,perl在文本处理方便应该更好用。根据需要吧。sed - when you need to do simple text transforms on files.awk - when you only need simple formatting and summarization or transformation of data.perl - for almost any task, but especially when the task needs complex regular expressions.python - for the same tasks that you could use Perl for.
Larry Walls 在设计 Perl 这个语言之初,就是为了让他处理文本,所以他把正则引擎直接嵌套到了语言中,而像 Python 和 Ruby,他们需要调用相应的正则表达式库才能支持正则表达式
相关文章推荐
- 什么是静态语言和动态语言?
- 任正非:失败这一天一定会到来
- Java Nio 五、分散/聚集
- 装饰者模式
- linux 下远程执行命令 socket实现
- Struts2和hibernate3的简单应用-登录验证
- docker 制作Dockerfile的SSH服务
- 配置文件activity节点属性
- Myeclipse 10.7 android(安卓) 开发环境搭建
- BZOJ 2716: [Violet 3]天使玩偶( CDQ分治 + 树状数组 )
- 实验四 主存空间的分配和回收模拟
- 类
- JS 变量提升
- 看到的比较有意思的几个算法
- Java之String与CharSequence、StringBuffer与StringBuilder之间区别
- LeetCode-39-Combination Sum(DFS)-Medium
- C++ 知识点
- Android 开发之获取相册照片和获取拍照照片
- LeetCode :: Convert Sorted Array (link list) to Binary Search Tree [tree]
- replace与regexp_replace区别使用以及like与instr差异