1. 只需要包含并不需要说全匹配

1. 只需要包含并不需要说全匹配

  • 解释,只需要包含并不需要全匹配的意思是,一串需要被匹配的字符串,我们只需要匹配到其中的任意一部分即可,这样就算匹配成功且返回值为真($?为0);而并不需要把这串需要匹配的内容全部匹配上,比如说要用 .*要匹配的内容.*这种写法,并不需要这样写!
  1. grep中的正则表达式匹配,只需要包含匹配即可
  2. [[ exp ]]中当使用=~符号匹配正则表达式的时候,右边的REX,只需左边的字符串部分匹配即可返回为真
  3. locate -r 或 –regex选项(不论加不加-b选项),后面的文件名所写的REX模式都是只需包含,就会输出所有包含REX的文件名
    • 此时加-b选项只不过只在文件名的basename中进行搜索匹配,但同样也是只需包含就可;不加-b则包括路径的整个wholename都进行搜索匹配,只需包含即可
  4. sed命令的地址定界(/regular expresssion/),只需要包含匹配到即可,和grep相同。
  5. sed命令的编辑命令s/匹配内容/替换内容/中,前面匹配内容其实也是包含即可,只不过使用的时候有很多种情况下为了更加容易替换和保留内容,才把前面更多使用^(.*)(匹配内容)(.*)$,然后使用后项引用方式进行替换,选择哪些保留哪些替换为其他内容,最终保留下来的内容组成新的行,
    • 当然在不出错的情况下也可以只匹配部分内容进行替换,只需要注意的就是sed命令最终输出的结果是处理后的整个行的内容,不是搜索替换后面的替换内容!

2. 需要全匹配的情况进行替换

  1. find -regex EXP ,此时EXP就必须是全匹配,因为它匹配的是文件名的整个路径
    For example, to match a file named `./fubar3', you can use the regular expression `.*bar.' or `.*b.*3', but not `f.*r3'.find的search,而是
  2. ** find -path 选项,后面也是全匹配,不过使用的是通配符
  3. ** sed命令替换,严格来说也并不是全匹配,只是为了容易替换和保留我们想要的内容,不容易出错,前面更多使用.*这种而已。
  4. rpm -qa "glob" ,查找已经安装的包名的时候,此时通配符是全匹配查找,因此要多用*包名的部分*这种方式避免找不到
最后修改日期: 2021年7月9日

作者

留言

A fascinating discussion is definitely worth comment. I think that you ought to write more on this issue, it may not be a taboo matter but typically people dont discuss these topics. To the next! All the best!!

אני מאוד ממליץ על אתר הזה כנסו עכשיו ותהנו ממגוון רחב של בחורות ברמה מאוד גבוהה. רק באתר ישראל נייט לאדי נערות ליווי

👉 The AI Content Generator Everyone Should Be Using :). Click Here:👉 https://stanford.io/3FXszd0

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。