linux sed

作者: 冰鋒 | 来源:发表于2017-03-17 17:08 被阅读0次

    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,而且替换的行会被打印出来。

    相关文章

      网友评论

          本文标题:linux sed

          本文链接:https://www.haomeiwen.com/subject/yunenttx.html