zoukankan      html  css  js  c++  java
  • 企业面试题-利用三剑客

    题:只看ett.txt文件(100行)内第20行到第30行的内容

     

    解答:squence==seq序列
    生成ett文件
    [root@tan data]# seq 100 >ett.txt
    [root@tan data]# cat ett.txt

      

    生成从1开始的10个数【1-10】,默认间隔为1:
    [root@tan data]#seq 10
    
    生成【3-10】:
    [root@tan data]# seq 3 101-10】公差为2的数
    [root@tan data]# seq 1 2 101-10】公差为的数
    [root@tan data]# seq 1 3 10

      

    [root@tan data]# head -30 ett.txt|tail -11 前30行里面的后11行(太low)
    
    [root@tan data]# sed -n '20,30'p ett.txt    这个命令更有效率,要记住
    
    [root@tan data]# awk '{if(NR<31 && NR>19) printf $0"
    "}' ett.txt
    
    [root@tan data]# awk '19<NR && NR<31' ett.txt

      

      

      

      

    head 头,头部    读取文件的前n行,默认前10行,-n 数字,习惯-5,忽略-n
    
    sed【三剑客老二】 stream editor 流编辑器,实现对文件的增删改查替换
    选项             功能                                       
      -e 允许多项编辑
      -f 后接sed脚本的文件名
      -n 取消默认输出
      -i 修改文件内容
      g 与s联合使用时,表示对当前行全局匹配替换    
      s 常说的查找并替换,用一个字符串替换成另一个   
    
    
    













    sed
    '20,30p' ett.txt 不加-n会全部打印出来 -n作用:取消默认输出,按照规则打印想要的内容【就是我用sed时,不要都给我输出出来,我要啥,你给我啥】 p:是print,打印 打印最后一行: [root@tan data]# sed -n '$'p ett.txt $是结尾的意思

    '20,30':引号一定要加 打印一行: [root@tan data]# sed -n '20'p ett.txt
    awk【三剑客老大】 过滤、输出内容,本身还是一门语言。NR:行号 [root@tan data]# awk
    'NR==31' ett.txt
    == :等于,表判断 && :意思是并且,两边同时成立 = :赋值 grep【三剑客老三】过滤需要的内容,-v排除内容,列子grep -v oldboy test.txt #Context Control: -B【brfore】 除了显示匹配的一行之外,并显示该行之前的num行 -A【after】 除了显示匹配的一行之外,并显示该行后的num行 -C【Context,上下文即前后】 除了显示匹配的一行之外,并显示该行之前后各num行 [root@tan data]# grep 25 -C 5 ett.txt [root@tan data]# grep 20 -A 10 ett.txt [root@tan data]# grep 30 -B 10 ett.txt
     
    
    
  • 相关阅读:
    chrome 插件备份
    github下载单个文件
    idea插件备份
    外卖类应用的竞争与趋势
    使用终端和Java API对hbase进行增删改查操作
    分布式文件系统的布局、文件查找
    Java上机实验报告(4)
    Java上机实验报告(3)
    Java上机实验报告(2)
    Java上机实验报告(1)
  • 原文地址:https://www.cnblogs.com/tan-y-q/p/10637232.html
Copyright © 2011-2022 走看看