美文网首页
Linux命令

Linux命令

作者: mualex | 来源:发表于2018-03-23 23:41 被阅读11次

    AWK - 行文本处理工具

    原理: 逐行处理文本数据
    语法: awk 'pattern + {action}'

    单引号用于区分shell命令
    {}是 命令分组, action是处理动作, 默认action 是 print
    只有满足pattern才会action, pattern 和action 可以只有一个

    cat test.txt | awk 'NR==3, NR==5{print;}'
    cat test.txt | awk '/34567/' /pattern/-->正则匹配

    内置变量

    FS 分隔符,默认空格
    NR当前行数,从1开始
    NF 当前记录字段个数
    $0 当前记录
    $1 ~ $n 当前记录的第n个字段

    cat test.txt | awk 'NR==3, NR==5{print $1,$NF}'

    内置函数

    gsub(r,s) 在$0用s替换r
    index(s,t)
    length(s)
    match(s,r)

    sed - 行编辑器,一次处理一行内容

    语法
    sed [options] 'command' file
    sed [options] -f scriptfile file

    sed -n p test.txt -n 关闭自动打印 (sed 处理前会自动打印)

    定位

    sed -n '2,$'p test.txt 打印第二到最后一行
    sed -n '/234567/'p test.txt
    sed -n '1348622,$'p ces-txn.log > ces-txn_latest.log

    命令

    a\ 在匹配行后面加一行文本
    sed -n '/1234567/'a\ "new line" test.txt

    相关文章

      网友评论

          本文标题:Linux命令

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