欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

企业面试题-利用三剑客

程序员文章站 2022-10-18 10:21:01
题:只看ett.txt文件(100行)内第20行到第30行的内容 ......

题:只看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 10

【1-10】公差为2的数
[root@tan data]# seq 1 2 10

【1-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"\n"}' 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
 企业面试题-利用三剑客