【发布时间】:2015-08-12 04:15:54
【问题描述】:
我有一个包含这些文件的目录:
1.html 22.html 333.html zxc.html
我想获取名称中只有数字的 html 文件的列表:
1.html 22.html 333.html
我认为这会起作用
find . -regex '^[0-9]+\.html'
或
ls -al | grep -E '^[0-9]+\.html$'
但我什么也得不到。我的想法是获取名称中只有数字的 html 文件并将它们传递给 sed 进行替换。我正在使用 linux 和 bash
【问题讨论】:
-
find的-regex匹配整个路径,而不仅仅是文件名,所以试试find . -regex '.*/[0-9]+\.html'。 -
@Biffen 不应该这样工作
ls | grep -E '^[0-9]+\.html$'吗?但是您的查找解决方案有效 -
取决于
ls打印的内容,这就是您shouldn't parsels的原因。command ls | grep -E '^[0-9]+\.html$'恰好为我工作,但我仍然不会依赖它。 -
@Biffen 如果您将评论转换为答案,所有人都可以投票
-
我发现
ls | grep -E '^[0-9]+\.html$'也可以,但不是第一次尝试,我觉得是因为我的远程shell
标签: bash shell file numbers find