美文网首页
day-15正则表达式awk

day-15正则表达式awk

作者: Diudiu_0588 | 来源:发表于2019-03-20 22:45 被阅读0次

    cut 切割按列切割

    -d 指定分隔符 -f 指定列

    三剑客

    grep过滤查找内容。

    sed取行,增删改查

    awk取列

    语法

    awk 参数 模式动作 文件

    参数

    -F指定分隔符

    列表示:

    $1 第一列 以此类推

    $0 整行

    $NF 最后一列

    $NF-1 倒数第二列 以此类推

    NR 行号

    实践:

    搭建环境 sed -n '1,5p' /etc/passwd >test.txt
    问题1:取test.txt文件的第2行到第3行的内容。

    sed -n '2,3p' test.txt
    
    awk 'NR>1&&NR<4' test.txt
    
    awk 'NR==2,NR==3' test.txt
    

    问题2:过滤出含有root字符串的行※。

    grep "root" test.txt
    
    awk '/root/' test.txt
    

    问题3:删除含有root字符串的行※。

    sed '/root/d' test.txt
    

    问题4:取文件的第一列、第三列和最后一列内容,并打印行号※。

    awk -F":" '{print NR,$1,$3,$NF}' test.txt
    

    问题5:取出Linux中执行ifconfig eth0后对应的IP地址(只能输出IP地址)。

    ifconfig eth0|sed -nr 's#^.*net (.*) net.*$#\1#gp'
    

    问题6:过滤文件中第一列内容匹配root的字符串,把符合的行的最后一列输出。

    awk -F":" '$1~/root/{print $NF}' test.txt
    
    sed -nr 's#^root.*:(.*)#\1#gp' test.txt
    

    相关文章

      网友评论

          本文标题:day-15正则表达式awk

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