相关疑难解决方法(0)

如何使用ls列出以数字结尾的文件

我不确定我是否正确使用bash中的正则表达式.我在使用bash shell的Centos系统上.在我们的日志目录中,有附加数字的日志文件,即

stream.log
stream.log.1
stream.log.2 
...
stream.log.nnn  
Run Code Online (Sandbox Code Playgroud)

不幸的是,还有一些带有新命名约定的日志文件,

stream.log.2014-02-14 
stream.log.2014-02-13
Run Code Online (Sandbox Code Playgroud)

我需要获取具有旧日志文件命名格式的文件.我找到了一些有用的东西,但我想知道是否有另一种更优雅的方式来做到这一点.

ls -v stream.log* | grep -v 2014
Run Code Online (Sandbox Code Playgroud)

我不知道正则表达式如何在bash和/或什么命令(除了可能的grep之外)管道输出.我想到的cmd /正则表达式是这样的:

ls -v stream.log(\.\d{0,2})+
Run Code Online (Sandbox Code Playgroud)

毫不奇怪,这不起作用.也许我的逻辑是不正确的但我想从cmdline列表文件中说出名称为stream.log的文件,其末尾附加了一个xyz = {1..999}的可选.xyz.如果这是可行的,或者我想出的解决方案是做这样的事情的唯一方法,请告诉我.在此先感谢您的帮助.

编辑:感谢大家的迅速评论和回复.我只是想提一下,还有一个名为的文件stream.log没有附加任何数字,也需要进入我的ls列表.我尝试了评论和答案中的提示并且它们有效,但它遗漏了该文件.

regex linux bash shell ls

1
推荐指数
1
解决办法
9985
查看次数

标签 统计

bash ×1

linux ×1

ls ×1

regex ×1

shell ×1