zoukankan      html  css  js  c++  java
  • 💎文本处理三剑客(详)

    一、sed命令

    1.什么是sed

            sed(stream editor)是一款高效的流式编辑器,它一次只能处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patterm space),接着用sed命令处理缓冲区中的内容,处理完成后把缓冲区的内容送往屏幕,接着处理下一行,这样不断重复,直到文件末尾。sed处理过的文件内容并没有改变,除非使用重定向储存输出。

    2.为何要用sed 

    sed 对比 vim
    1、sed可以把处理文件的规则事先写好,然后用同一套规则编辑多个文件
    而vim只能一个个编辑===>用于用一套规则处理多个文件

    2、sed处理文件,一次只处理一行,即同一时间内存中只有文件的一行内容
    无论文件多大,都不会对内存造成过大的压力====>用于处理大文件

    3.如何使用sed

     命令:d (删除)   p(复制) s///gi(修改替换)

     选项:-n 取消默认输出

               -i 把内容输出到屏幕(规则处理的结果+默认输出的结果)

    • sed+选项+"规则=(定位+命令)"+文件

    规则:定位+命令

              定位方式:行号定位 :sed "1p" a.txt  打印第一行

                                                   sed "1,3p" a.txt 打印前三行

                                                   sed "3p;5p" a.txt 打印三到五行

                                正则定位:sed '/^命令名称$/p' a.txt

                                                  sed '  ' 命令  a.txt 没有定位,代表定位了所有行

    二、awk命令

    1.什么是awk

    awk与sed和grep很相似,主要擅长处理有规律的文本,主要用于一些格式化处理,

     实际上awk不仅是命令,awk拥有自己的语言:awk程序设计语言,awk的三位创建

    者已将它正式定义为:样式扫描和处理语言。

           2.为何要用awk

               awk是一种样式扫描与处理工具。但其功能却大大强于sed和grep。awk提供了极其强大的功能:它几乎可以完成grep和sed所能完成的全部工作,同时,它还可以可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。

          3.如何使用awk

    • awk+选项+"规则=(定位+命令)"+文件路径

               选项:-F: (指定分隔符)

               规则:定位+命令

                            定位:行号定位:

                                        awk  -F:'NR == 3{print $1,$3}' /etc/passwd

                                        awk  -F:   'NR == >= 3 && NR <=5{print $1,$3}' /etc/passwd

                                        awk  -F:   'NR <= 3 || NR >= 8{print $1,$3}' test.txt

                                        awk  -F:   'NR == 3 || NR == 5 || NR == 7{print $1,$3}' test.txt

                                        正则定位:

                                         awk  -F:'//{print $1,$2}' +文件路径

                                          awk'  ' 命令    没有定位,代表定位了所有行

              命令:{print $n}

    三、grep命令

                  1.什么是grep

               grep擅长过滤内容,一种强大的文本搜索工具,它能使用正则表达式搜索文本,并 把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。利用这些返回值就可进行一些自动化的文本处理工作。

    2.为何要用grep

               grep的工作方式:它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。

                grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

    3.如何使用grep

    • grep +选项+"过滤规则"+文件

             

                  选项:'正则' 

                  规则:正则=(想查找的内容)+文件路径

                  命令:-n  显示会行号

                             -i  忽略大小写

                             -l  只输出包含匹配行的文件名

    grep -n "root" /etc/passwd  # 显示行号

     grep -i "" /etc/passwd # 忽略大小写

    grep -l '内容' a.txt  # 如果文件中但凡是存在包含内容的行就算过滤成功,会返回文件名

  • 相关阅读:
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    jenkins无需登录,查看测试任务结果,allure报告
  • 原文地址:https://www.cnblogs.com/ChuangShi-HolySpirit/p/13865300.html
Copyright © 2011-2022 走看看