首頁  >  問答  >  主體

正则表达式 - Linux上,如何让find命令支持正则查找?

PHP中文网PHP中文网2765 天前567

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-17 15:57:00

    -regextype type
                  Changes the regular expression syntax understood by -regex and -iregex tests which occur later on the command line.  Currently-implemented types are emacs (this is the default),  posix-awk,  posix-basic,  posix-egrep  and  posix-
                  extended.
    

    這個參數會影響,-regex [pattern]的匹配行為,類似使用不同的方言來解析正規表示式。
    經過我的實驗,我覺得這麼寫

    find . -regextype posix-extended -regex './autojump.(bash|zsh|sh)'
    或者
    find . -regextype posix-extended -regex './autojump.(ba|z)?sh'
    

    ./auto..../是不能省略的,find的正規匹配不能夠只匹配部分,要匹配完全(理解)。

    ==update==
    如果前面的路徑很長,可以這樣子匹配

    find . -regextype posix-extended -regex '.*autojump.(ba|z)?sh'

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:57:00

    如果使用find * 然後再配合egrep,lz你怎麼看?

    回覆
    0
  • 取消回覆