zoukankan      html  css  js  c++  java
  • shell脚本—正则表达式

    shell其实是一个命令解释器,它的作用是解释用户输入的命令和程序;

    如果我们的命令或者应用程序不在命令行直接执行,而是通过一个程序文件来执行时,这个程序就称为shell脚本。shell脚本里面通常内置了多条命令,有的还包含控制语句,比如if和

    else的条件控制语句;这些内置在一个shell脚本中的命令通常是一次性执行完成,不会不停的返回信息给用户,这种通过文件执行脚本的方式称之为非交互方式;

    我们可以在文本中输入一系列的命令、控制语句和变量,这一切有机的结合起来就形成了功能强大的shell脚本;

    (基本/扩展)正则表达式,用某种模式去匹配一类字符串的公式,它是由一串字符和元字符构成字符串。;

    . 任意的一个字符;汉字等(除换行符以外)

    *前面字符重复任意次;wang* (wan,wang,wangg,wanggg。。。),(wang)*(wang,wang...)

    .*任意长度的任意字符串;

    +前面字符重复一次以上;x{1,}; x xx xxx

    {n,}至少n次(>=n)

    {n}精确n次; 用于转义字符;

    {m,n}m次到n次

    {,n}至多n次

    前面字符0次或1次,可有可无;

    ^行首;(脱字符号)

    $行尾;

    词首 < 或  (<,>,用于界定单词的左边界和右边界)

    词尾 > 或 

    []符号用于匹配方括号内出现的任意字符;[wang] 任意一个字符w a n g;d 匹配一个数字,等价于[0-9]

     

     “d”是一种Perl兼容模式的表达式,又称作 PCRE,要想使用这种模式的匹配符,需要加上-P参数

    [^.]除了.的其它的任意一个字符

    [:alpha:]

    a|bxy abxy

    (a|b)xy axy 或 bxy

    (expr1) (expr2) 1 2

    cut

    diff

    patch -b

    wc

    sort

    uniq

    head

    tail

    tac;cat;

    more;less;paste;netstat;

    ` (后引号、斜引号);如,a=`ls -l`;表示把ls -l作为命令来执行,执行的结果赋值给a;

    vim ex模式下输入 :%s/xyz/&er/g (xyz替换成xyzer,g表示一行里替换多个xyz,不加g 则只替换一个xyz) (&,表示前面搜索出来的字符)

    vim 命令模式,插入模式(a,i,o),ex模式(底行模式,vim a.sh就可以操作);

    grep -o;只要数字;

    扩展正则表达式grap -E 或egrep 

    0-9 10-99 100-199 200-249 250-255

    [0-9] [1-9][0-9] 1[0-9][0-9] 2[0-4][0-9] 25[0-5]

    ifconfig |egrep -o "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"

     

     

     

     上图是字符串比较;

     

     判断.sh

     创建用户

     

     

    seq(sequeue,序列),主要用来输出序列化的东西;-s 使用指定字符串分割数字(默认 )

     paste命令用户合并文件的行;它可以合并一个文件或多个文件的行;

    -d 指定各个文件在合并时,使用的分隔符;

    -s 顺序的合并文件,每个文件中所有内容合并为一行;

     

     

     

     

    wc;word count

    10行 13个单词(以空格区别)

     

     ls |wc; wc --help;

    wc -l /etc/passwd(查看多少行,查看多少个账号)

     

     

     cut取列;sort取列,然后进行排序;

    sort -t: -k3 /etc/passwd(按照字符排序)

    sort -t: -k3 -n /etc/passwd(按照数字升序排列)

    sort -t: -k3 -nr /etc/passwd (根据passwd中第3列,按照数字倒序排列)

     

    tr (translate)主要用于删除文件中的控制字符,或进行字符转换;

    如下图;将空格使用';'替代;

     

    cut用来从标准输入或文本文件中剪切列或域;-d指定不同列的分割符;-f 1剪切第1域/列;

     

    sort以行为单位对文本进行排序;-n 根据字符串数值进行排序;-r 反向输出排序结果;

     

    head 可以将一段文本的开头的一部分输出到标准输出;默认前10;-n25输出前25行;

     

     

     

     

     

     

     

     

     

     统计远程主机登录次数的前三个ip

     

     

     

    grep;文本,行过滤工具;

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    国内大学毕业论文LaTeX模板集合
    LATEX论文排版学习资源汇总
    论文神器Latex30分钟快速入门教程-只需9步向学神看齐
    smartdraw2013破解方法
    科研常用的软件
    推荐科研软件
    斯坦福大学科研软件
    【LaTeX】E喵的LaTeX新手入门教程(6)中文
    【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织
    【LaTeX】E喵的LaTeX新手入门教程(4)图表
  • 原文地址:https://www.cnblogs.com/canglongdao/p/12686350.html
Copyright © 2011-2022 走看看