zoukankan      html  css  js  c++  java
  • NO5 grep-head-tail命令


    ·*****grep:#过滤需要的内容(linux三剑客)。
                       -v:排除内容。eg:grep -v oldboy test.txt

    ·head: #头,头部。读取文件的前n行,默认前10行。
               -n 数字,可省略n。
    ·tail:#尾,尾部。读取文件的后n行,默认后10行。
             -n 数字,可省略n。

    ·提示:三剑客是grep,awk,sed,他们都有过滤字符串的功能。

            grep最擅长
            awk处理列擅长
            sed擅长删除,修改,替换,添加。

    问题八:已知文件test.txt内容为:
    test
    liyao
    oldboy
    请给出打印test.txt内容时,不包含oldboy字符串的命令。

    解答:

    先用cat >>文件<<EOF...内容...EOF(前后2个EOF可以换成任何相同字母组合。)
    [root@localhost data]# cd /
    [root@localhost /]#
    [root@localhost /]# cat >>test.txt<<EOF
    > test
    > liyao
    > oldboy
    > EOF
    [root@localhost /]# cat test.txt
    test
    liyao
    oldboy


    ·方法一:使用grep -v 命令:过滤排除某项并打印其他的项。
    [root@localhost /]# grep -v oldboy test.txt
    test
    liyao

    ·方法二
    [root@localhost /]# cat test.txt|grep -v oldboy (cat和管道方式,这个麻烦,不专业)
    test
    liyao

    ·grep直接用是过滤啥出来啥:
    [root@localhost /]# grep oldboy test.txt
    oldboy

    ·head命令:读取文件的前n行,默认前10行,n可省略:
    [root@localhost /]# head -2 test.txt
    test
    liyao
    [root@localhost /]# head -1 test.txt
    test
    [root@localhost /]# head -n 2 test.txt
    test
    liyao

    ·head命令:读取文件的前n行,默认前10行
    [root@localhost /]# seq 20 >a.txt  (seq生成序列的命令)
    [root@localhost /]# cat a.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [root@localhost /]# head a.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@localhost /]#

    ·和head相对的命令是:tail:读取文件的后n行,默认后10行:
    [root@localhost /]# tail a.txt
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [root@localhost /]# tail -2 a.txt
    19
    20


    ·方法三:0基础可以忽略此法:
    拓展:三剑客之一的sed删除方法,其实是把oldboy行删除,然后打印剩下的内容。
    sed /oldboy/d test.txt
    sed -e /^oldboy/d test.txt

    [root@localhost /]# sed -e /^oldboy/d test.txt
    test
    liyao
    [root@localhost /]# sed /oldboy/d test.txt
    test
    liyao
    [root@localhost /]# sed -n /[^oldboy]/p test.txt
    test
    liyao


    ·方法四:0基础可以忽略此法:
    [root@localhost /]# sed -n /[^oldboy]/p test.txt
    test
    liyao

    ·方法五:0基础可以忽略此法:
    [root@localhost /]# awk /[^oldboy]/ test.txt
    test
    liyao

  • 相关阅读:
    JSON1
    program的发展史及两个方法
    统计字符出现的次数
    美国十大web2.0公司背后的故事
    web history-----JavaScript 的起源故事
    Baidu_Map
    My json(Demo)
    program发展史及 forecast
    js事件类型
    字符统计与正则表达式
  • 原文地址:https://www.cnblogs.com/sinsenliu/p/8920429.html
Copyright © 2011-2022 走看看