zoukankan      html  css  js  c++  java
  • Shell编程(视屏总结)

    一、基础正则表达式

           1、正则表达式

                 正则表达式:用来在文件中匹配符合条件的字符串,正则是包含匹配,grep、awk、sed等命令支持正则表达式,

    语法:grep ["选项"] 文件名       如grep “*” student.txt           提取行

                 选项含义:“[]”  匹配中括号内任意字符串

                                   “*”  匹配*前字符零次或任意多次

                                   ”[^]”匹配初中括号内字符外的任意字符

                                   ”{n}”  表示前面的字符连续出现n次                                             如a{3} 表示a连续出现3次

                                    ”{n,}”  表示前面的字符最少出现n次                                             如a{3,} 表示a最少出现3次

                                    "{n,m}" 表示前面的字符最少出现n次,最多出现m次

                                    “.”  匹配除换行符外的任意一个字符                             

                                     “Λ” 匹配首行                                                                              如“Λhello” 匹配以hello开头的行

                                     “¢” 匹配结尾                                                                               如“¢hello” 匹配以hello结尾的行

           2、  通配符:用来匹配符合条件的文件名,是完全匹配,Is、find、cp等命令不支持正则表达式,只能使用shell自己的通配符进行

                 匹配。 * 、? 、[]

    二、字符截取命令 

        1、cut命令——提取列,不能正确提取空格符的列,只能是制表符,即tab键

            语法: cut [选项] 文件名                 选项:-f  :指定提取的列    如 cut -f 2 student.txt 表示提取文件名为student.txt的第2列  或cut -f 2,3 student.txt(提取多列用逗号分开)

                                                                             -d  :按照指定分隔符分隔列   如cut -d "所指定的分隔符" 文件名      cut -d ":" student.txt     

                                                                                    cut -d ":" -f 2 student.txt

                        cut 提取列,只能识别:  ,   。等分隔符,制表符,但是不能识别空格符

        2、printf命令

            语法:printf ‘输出类型输出格式’ 输出内容

                      printf不会自动加入换行符,而print会自动加入换行符

        3、awk命令

           语法:awk '条件1 {动作1} 条件2 {动作2}.....' 文件名

                      一般是使用关系表达式作为条件,默认识别的分隔符是:和,

                      awk ‘BEGIN {动作a} 条件1 {动作1} 条件2 {动作2}’       表示在所有数据度处理之前先执行动作a,然后在执行后面的动作1、2

                      awk ‘END {动作a} 条件1 {动作1} 条件2 {动作2}’          表示在所有数据处理完之后执行动作a 

        4、sed命令(流编辑器)

            语法:sed [选项] ‘[动作]’ 文件名

            选项:-n  将经过sed命令处理的数据输入到屏幕上

                       -e 允许对输入数据进行多条sed命令处理

                       -i  用sed的修改结果直接修改读取数据的文件,而不是将修改结果输入到屏幕上

            动作: a :追加,在当前行后添加一行或多行

                       c :行替换,用c后面的数据替换原数据行

                        i : 插入 ,在当前行之前插入一行或多行

                       d :删除指定的行

                       p :打印指定的行

                       s :字符串替换, 用一个字符串替换另一个字符串         “行范围s/旧字符串/新字符串/g”

    三、字符处理命令

    四、条件判断

    五、流程控制

  • 相关阅读:
    Unity中传入任意数,转换成分,秒,并进行倒计时换算..(两种方式)
    Unity中调用手机中的粘贴功能
    关于Unity中IphoneX的适配
    可以接受多个字符串的可变参数
    可变参数函数示例
    多维数组指针指向引用问题
    printf的封装与实现
    关于MQTT的相关工具和使用(参考百度天工)
    单片机的堆和栈(Heap & Stack)详解
    单片机的内存分配(变量的存储位置)详解
  • 原文地址:https://www.cnblogs.com/fangfang66/p/7807867.html
Copyright © 2011-2022 走看看