对于我的学校,我需要搜索所有以数字开头的文件。我之前曾尝试在网上搜索,但没有找到任何答案。我需要使用命令find
。
问题是:服务器上是否有以数字开头的文件?如果有,您可以列出它们吗?
答案是肯定的(因为他希望我们重定向错误 2>/dev/null)
我尝试了各种方法,但都不起作用。我最接近答案的是这个命令行
find /home | grep '[0-9]'
为了首先获得数字,我认为我只需要将其放在^
前面[0-9]
,但是没有用。
有人能帮我吗?
答案1
find . -type f -regex ".*/[0-9]*"
正则表达式是在整个路径上完成的,因此您需要包含.*/
。
sudo find / -type f -regex ".*/[0-9]*"
如果您想要它用于整个文件系统。
答案2
在 Linux 中寻找模式时,通常可以使用正则表达式(正则表达式)。大多数处理搜索的 unix 命令都允许您使用它们。考虑到这一点,您可以在手册中查找该术语:man find
。该find
命令允许您使用带有-regex
标志的正则表达式。
回答您的具体问题:
find . -type f -regex '.*/[0-9][^/]*$'
可以解决问题。但是如果你仔细阅读手册,你可能会找到其他方法来实现相同的结果。