sed -n "/query/p" 2017-04-07.log |awk -F "," '{print $2}'| awk -F " " '{ if($1==8){print $9}}'
sed命令的语法格式:
sed的命令格式: sed [option] 'sed command'filename
sed的脚本格式:sed [option] -f 'sed script'filename
sed命令的选项(option):
-n :只打印模式匹配的行
-e :直接在命令行模式上进行sed动作编辑,此为默认选项
-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作
-r :支持扩展表达式
-i :直接修改文件内容
sed在文件中查询文本的方式:
1)使用行号,可以是一个简单数字,或是一个行号范围
x x为行号
x,y 表示行号从x到y
/pattern 查询包含模式的行
/pattern /pattern 查询包含两个模式的行
pattern/,x 在给定行号上查询包含模式的行
x,/pattern/ 通过行号和模式查询匹配的行
x,y! 查询不包含指定行号x和y的行
sed -i "s/^@//g" filename #原地操作原文件,进行替换
sed s/a/A/3 从标准输入中读取文本,将文本中含有的a的第三列替换为A
sed ' s/^192.168.0.1/&localhost/ ' example-----&符号表示替换换字符串中被找到的部份。所有以192.168.0.1开头的行都会被替换成它自已加 localhost,变成192.168.0.1localhost。
$ sed -n ' s/\(love\)able/\1rs/p ' example-----love被标记为1,所有loveable会被替换成lovers,而且替换的行会被打印出来。