【问题标题】:How to add REGEX in a string inside a shell script?如何在 shell 脚本内的字符串中添加 REGEX?
【发布时间】:2020-10-16 10:20:24
【问题描述】:

以下命令检测 git 中是否有任何暂存文件为myFile.js

echo $(git diff --cached --name-only --diff-filter=ACM | egrep 'path/to/myFile.jsx?$')

但我想检测该文件夹中的任何.js 文件。我试过了,但没有用:

echo $(git diff --cached --name-only --diff-filter=ACM | egrep 'path/to/{*}.jsx?$')

如何在此处为文件名添加通配符?

【问题讨论】:

  • 你几乎不应该使用echo $(somecommand) -- echo$( ) 大多相互抵消,除了它们之间的一些潜在的解析怪异。只需直接运行命令(除非您出于某种原因想要那些解析奇怪的东西)。
  • 谢谢,我只是为了调试目的而回显,在实际代码中,回显后的整个部分被设置为 var @GordonDavisson

标签: regex bash shell unix sh


【解决方案1】:

替换:

egrep 'path/to/{*}.jsx?$'

与:

egrep 'path/to/.+\.jsx?$'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 2012-12-21
    • 2018-12-05
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    相关资源
    最近更新 更多