grep, sed 与 awk 相当有用 ! gerp 查找, sed 编辑, awk 根据内容分析并处理. awk(关键字:分析&处理) 一行一行的分析处理 awk '条件类型1{动作1}条件类型2{动作2}' filename, awk 也可以读取来自前一个指令的 standard input相对于sed常常用于一整行处理, awk则比较倾向于一行当中分成数个"字段"(区域)来处理, 默认的分隔符是空格键或tab键例如:last -n 5 | awk '{print $1…
本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html以此为例: cat test.sh test1.sh 2>/dev/null | grep -n 'echo' 此时若test.sh 不存在,报错信息不会输出到屏幕中,而是转入 /dev/null中,如…
概述 我们日常应用中都离不开日志.可以说日志是我们在排查问题的一个重要依据.但是日志并不是写了就好了,当你想查看日志的时候,你会发现线上日志堆积的长度已经超越了你一行行浏览的耐性的极限了.于是,很有必要通过一些手段来高效地辅助你来快速的从日志中找到你要找的问题.本文通过一个从项目中衍生出来的例子从查找日志,筛选日志和统计日志3个方面层层递进来简述日志文件查看中一些有用的手段.(注:在linux环境下) 目录 0.查找关键日志grep 1.查找关键日志grep 2.精简日志内容 sed 3.对记录…
正则表达式是用于描述字符排列和匹配模式的一种语法,它主要用于字符串的模式分割.匹配.查找以及替换操作. 描述一个正则表达式需要字符类.数量限定符.位置限定符.规定一些特殊语法表示字符类,数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式. 正则表达式的语法规范如下: 字符类:在模式中表示一个范围,但是取值范围是一类字符中的任意一个. 数量限定符:限定字符类出现的次数. 位置限定符:描述各种字符类和普通字符之间的位置关系. 特殊字符: 正则表达式有两种规范,分别是…
一些无稽之谈: 对于正则表达式,永远似了解不明白,看到一些代码,脚本定期,awk,sed.心里总有点虚.主要是记不住.平时又没怎么用,也就没总结了. 如今有空,决定总结一下,顺便克服一下看到shell,js这些带有正则就心虚的弱点. 打算分三篇文章来写 正文: 一般来说,正则分好几种.但基本都差点儿相同,我所了解的有 "基本正则","扩展正则"及"perl正则",本文更偏向说记录"基本正则"和"扩展正则",…
Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep grep已经用得够多了不需要再特别地说明用法,就罗列一下几个不太熟悉的参数: -v 反选 比如常用ps -ef | grep -v grep来把grep本身的那条进程去掉 -E 跟一个扩展正则表达式以增强grep的匹配功能. -i 忽略大小写地匹配 -q (常用于脚本)进行一个grep的判断,如果找到了返回…
awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理. 1.grep 1.1 什么是grep和egrep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红).grep全称是Global…
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更强大而已,且已独立成一种语言来介绍. grep:文本过滤器,如果仅仅是过滤文本,可使用grep,其效率要比其他的高很多: sed:Stream EDitor,流编辑器,默认只处理模式空间,不处理原数据,如果你处理的数据是针对行进行处理的,可以使用sed: awk:报告生成器,格式化以后显示.如果对处…
grep.sed.awk.perl等对正则表达式的支持的差别 grep 2.5.1 egrep 2.5.1 sed 3.02 sed 4.07 awk 3.1.1 perl 5.8.0 vim 6.1 JavaScript ?? 转义 \ \ \ \ \ \ \ 行头 ^ ^ ^ ^ ^ ^ ^ 行尾 $ $ $ $ $ $ $ n个 {n} {m,n} {m,} {,n} \{n\} {n} \{n\} {n}或\{n\} 仅定义 –posix 或 –re-interval有效(要表达}和{,…
每次用到正则都要蛋疼一下,索性总结一下在这里. 正则 正則表達式主要分为基础正则和扩展正则.注意,正则和一般命令行输入的命令的通配符不同.正则仅仅使用于支持这样的表示法的工具,如:vi,grep,sed.awk.而ls等命令不支持这样的表示,仅仅能使用bash自身的通配符. 基础部分: [abc] 匹配括号里的一个 [^abc] 匹配非括号里的一个(取反) ^word 以word开头 word$ 以word结尾 [n1-n2] 从n1到n2之间的全部连续字符. 注意:这个连续与否,与ASCII编…