正则表达式用于文本文件中的所有文件名

时间:2017-09-29 18:47:31

标签: regex bash filenames

我有一个包含这样的行的文件:

fasdfadf fasd.pdf
fasdf.dafs
/a/b/c.dfe
./file.mp3

我想要与之匹配的正则表达式:

fasd.pdf
fasdf.dafs
c.dfe
file.mp3

简明扼要地说,我想使用Bash在文本文件中找到所有文件名,所以首先我需要一个正确的正则表达式,但任何其他帮助也将受到赞赏。

1 个答案:

答案 0 :(得分:0)

这里你懒得。

([A-z0-9._-]+)[.]\w+/gm

将匹配"某些数量的A-z,点,下划线和短划线"字符后跟"一个点"然后是"一些词"。

下次,在询问之前,先使用https://regexr.com/或类似工具。

编辑: 更短的版本

([\w.-]+)[.]\w+/gm

感谢ctwheels指出\ w的简写,这导致我记住文件名中的数字