• shell学习(正则表达式)


    正规表示法(或称为常规表示法)是透过一些特殊字符的排列,用以搜寻/取代/删除一列或多列文字字符串, 简单的说,正规表示法就是用在字符串的处理上面的一项『表示式』。正规表示法并不是一个工具程序, 而是一个字符串处理的标准依据,如果您想要以正规表示法的方式处理字符串,就得要使用支持正规表示法的工具程序才行, 这类的工具程序很多,例如 vi, sed, awk 等等。(取自鸟哥的私房菜)

    1、grep [-acinv] '搜寻字符串' filename

    参数说明:
    -a :将 binary 档案以 text 档案的方式搜寻数据
    -c :计算找到 '搜寻字符串' 的次数
    -i :忽略大小写的不同,所以大小写视为相同
    -n :顺便输出行号

    -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

    说明:grep 在数据中查寻一个字符串时,是以 "整行" 为单位来进行数据的撷取的。

    例如:

    a、在regular_test.txt中查找包含test的记录:grep -n 'test' regular_test.txt

    b、用[]来搜寻,其中[]中代表一个字符,如t[ea]st表示test、tast都可以搜到:grep -n 't[ae]st' regular_test.txt;

      [^]表示取反,'^'表示行首,'\.$'表行尾为.的记录:grep -n '\.$' regular_test.txt ,搜寻空白行: grep -n '^$' regular_test.txt ;

      如查询大写英文/小写英文/数字等等, 可以使用[a-z],[A-Z],[0-9]等方式,也可以合并在一起写,如[a-zA-Z0-9]。

    c、任意一个字符 . 与重复字符*,“.”表示绝对任何一个字符,“*”表示重复0个或一个以上前面的 RE 字符。

      如查询g开头、d结尾并且中间有两个字符的单词:grep -n 'g..d' regular_test.txt 。

      如查询包含两个或两个以上aa的字符:grep -n 'aaa*' regular_test.txt。

  • 相关阅读:
    Qt消息机制和事件、事件过滤
    QTableview 获取鼠标坐标的item(QModelIndex)
    qt 拖放dropEvent
    Qt获取控件位置,坐标总结
    Quick Easy FTP Server FTP工具文件传输使用
    Qt QDialog将窗体变为顶层窗体(activateWindow(); 和 raise() )
    makefile 通配符了解% $@ $^ $<
    QLocalServer和QLocalSocket单进程和进程通信
    RC4 加解密
    qt 拷贝文件设置进度条
  • 原文地址:https://www.cnblogs.com/zelmeli/p/zhengze.html
Copyright © 2020-2023  润新知