我想在文件夹和子文件夹中搜索所有带有 .sql 扩展名的文件(递归)。
我怎样才能做到这一点?
答案1
或者...
find $directory_name -name \*.sql
例如
find / -name \*.sql
或者
find ~ \*.sql
(其中 ~ 相当于 /home/your_username/),或者...
find /usr/local/share/ \*.sql
等等。
答案2
在命令行中运行此命令:
cd / && find | grep '\.sql$'
将“/”更改为您想要搜索的目录。
该find
命令无需 grep(使用额外选项)即可完成任务,但我发现上述用法更方便。
按照顺序,上述命令:
- 将当前目录更改为根目录 (
cd /
) - 列出当前目录及以下的所有文件和目录 (
find
) - 过滤文件和目录中以“.sql”结尾的任何内容(
| grep '\.sql$'
)
答案3
我知道这是一篇老帖子,但我对此还很陌生,我找到了一种简单的方法来查找目录及其子目录中具有特定扩展名的所有文件。好吧,你首先导航到然后,parent Directory
它将find . -name '*.sql'
找到所有文件.sql目录及其子目录中的扩展。
就我而言,我想删除所有.xml目录及其子目录中的文件,所以我做的更多是添加了删除,如下所示find . -name '*.xml' | xargs rm
希望这对某人有帮助:)
答案4
locate -br \\.sql$ | egrep '^/folder/path/'
如果尚未安装,则先使用以下命令进行安装:
sudo apt install mlocate