grep,sed,awk速查备忘。

1540阅读 0评论2016-08-13 enenshiwo
分类:LINUX

一、grep
egrep扩展正则
fgrep搜索固定字符串不扩展

例:
提取正确的IP地址:egrep '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' file
注意有单引号

正则速查
字符类

数量限定符

位置限定符

其他


二、sed

1./pattern/p  打印匹配pattern的行
sed -n '/111/p' file(加-n不显示匹配过程)

2./pattern/d  删除匹配pattern的行

3. /pattern/s/pattern1/pattern2/
查找符合pattern的行,将该?行第一个匹配 pattern1的字符串替换为pattern2

4. /pattern/s/pattern1/pattern2/g
查找符合pattern的行,将该行所有匹配 pattern1的字符串替换为pattern2

注:sed不会修改源文件内容,加-i可修改

5.定址
sed -n'100,300p' file 打印100到300行信息
sed ‘/start/ ,/end/d’ file #删除包含’start’?和’end’?之间的?
sed ‘/start/, 10d’ file #删除包含’start’ 的行到第?行的内容

三、awk

列操作
1.awk '{print $2;}'  log 。$0表?示整个当 前?
自动变量$1、$2分别表?第一列、第二列等,类似于Shell脚本的位置参数

2.awk '$2>70{print $0,"Yes";} $2<=70{print $0,"NO"}'  log
如果某个产品产量(在第二列)少于70,则为不合格,否则为合格,把结果追加在当前行后面

四、cut
1.-b 按照字节切割
cut -b 1-3
2.-c 字符
3.-f 域

上一篇:近期面试总结。
下一篇:在日志中提取信息并排序。