• linux基础学习-4.2-三剑客初次接触


    1、grep命令

    i、已知文件test.txt内容为:
    test
    liyao
    oldboy
    请给出输出test.txt文件内容时,不包含oldboy字符串的命令
    grep 筛子 想要的不想要的分开 默认筛子中的要

    [root@oldboy data]# cat test.txt

    test

    liyao

    oldboy

    [root@oldboy data]# grep "oldboy" test.txt

    oldboy

    [root@oldboy data]# grep "oldboy" test.txt -v

    test

    liyao

    ii、只查看ett.txt文件(共100行)内第20到第30行的内容

    [root@oldboy ~]# grep 20 -A 10 a.txt 记忆方法 after

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    [root@oldboy ~]# grep 30 -B 10 a.txt 记忆方法 before

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    [root@oldboy ~]# grep 25 -C5 a.txt

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    2、sed命令

    i、sed ***** 擅长取行,替换,linux三剑客老二

    sed [选项] [sed命令] [输入文件]

    -n 取消默认输出,功能p(print)打印

    例:取行:sed -n '20,30p' ett.txt

    g与s联合使用时,表示对当前行全局匹配替换,s常说的查找并替换,用一个字符串替换成另一个

    -e允许多项编辑

    -i修改文件内容(修改磁盘上的内容)

    ii、sed过滤

    sed -n '/oldboy/p' test.txt

    [root@oldboy ~]# sed -n '20,30p' a.txt

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    iii、sed替换

    [root@oldboy ~]# sed 's#oldgirl#gongli#' a.txt

    oldboy gongli

    gongli

    #是分隔符,分隔符可以是任意的

    iv、sed删除

    [root@oldboy data]# cat test.txt

    test

    liyao

    oldboy

    [root@oldboy36 ~]# sed -n '/oldboy/!p' oldboy.txt

    test

    liyao

    [root@oldboy36 ~]# sed '/oldboy/d' oldboy.txt

    test

    liyao

    v、sed修改文件内容

    [root@oldboy ~]# sed -i 's#oldgirl#gongli#g' a.txt

    [root@oldboy ~]# cat a.txt

    oldboy gongli

    gongli

    3、awk命令

    awk linux三剑客老大

    NR 行号

    == 等于

    $0 整行

    [root@oldboy ~]# awk 'NR>19&&NR<31' a.txt

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    seq 50 |awk 'NR==20,NR==30 {print}'

    [root@oldboy36 ~]# awk '!/oldboy/' oldboy.txt

    test

    liyao

    [root@oldboy data]# ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}'

    10.0.0.30

    [root@oldboy oldboy]# ifconfig eth0|sed -nr 's#^.*dr:(.*) B.*$#1#gp'

    192.168.33.128

    [root@oldboy oldboy]# ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}'

    192.168.33.128

    练习题:

    1、只查看ett.txt文件(共100行)内第20到第30行的内容(grep)

    2、把文件中的oldboy替换成oldgirl(sed)

    3、排除含有oldboy的行?(awk)

  • 相关阅读:
    redis的发布订阅模式pubsub
    django集成celery之callback方式link_error和on_failure
    linux命令和awk
    使用beanstalkd实现定制化持续集成过程中pipeline
    JavaScript实现模糊推荐的input框(类似百度搜索框)
    hadoop streaming编程小demo(python版)
    一个scrapy框架的爬虫(爬取京东图书)
    mongodb生产环境(副本集模式)集群搭建配置
    TensorFlow加载图片的方法
    STC15W408AS简单使用教程-简单的光强检测!
  • 原文地址:https://www.cnblogs.com/Klanti/p/9052437.html
Copyright © 2020-2023  润新知