从文件名中过滤单词| Bash正则表达式

时间:2018-10-17 09:22:25

标签: regex bash

我想要这样的名字:

  

abc-dirk-alt.avi

,我只想要-(dirk)之间的部分 普通的正则表达式是-(.*?)-,但我不知道如何在bash脚本中编写它。 我该怎么办?

1 个答案:

答案 0 :(得分:3)

您可以使用-([^-]*)-正则表达式([^-]*匹配零个或多个-以外的字符)来避免使用惰性量词,并在{找到匹配项:

${BASH_REMATCH[1]}

请参见online Bash demo