在文件夹和子文件夹中搜索扩展名为.sql的所有文件

我想在文件夹和子文件夹中搜索所有带.sql扩展名的文件(递归)。

我怎样才能做到这一点?

要么…

find $directory_name -name \*.sql 

例如

 find / -name \*.sql 

要么

 find ~ \*.sql 

(其中〜等于/ home / your_username /),或者……

 find /usr/local/share/ \*.sql 

等等。

在命令行中运行:

 cd / && find | grep '\.sql$' 

将“/”更改为您要搜索的目录。

find命令能够在没有grep的情况下完成任务(使用额外选项),但我发现上述用法更方便。

按顺序,上面的命令:

  1. 将当前目录更改为根目录( cd /
  2. 列出当前目录下的所有文件和目录( find
  3. 过滤文件和目录以查找以“.sql”结尾的任何内容( | grep '\.sql$'

我知道这是一个旧post,但我是新手,我发现了一种简单的方法来查找目录及其子目录中某个扩展名的所有文件。 那你首先导航到parent Directory然后find . -name '*.sql' find . -name '*.sql' ,它将在目录及其子目录中找到扩展名为.sql的所有文件。

在我的情况下,我想删除目录及其子目录中的所有.xml文件,所以我做的更多是我添加删除,如在这里find . -name '*.xml' | xargs rm find . -name '*.xml' | xargs rm

希望这能帮助别人:)

 locate -br \\.sql$ | egrep '^/folder/path/' 

如果未安装,则先将其安装为:

 sudo apt install mlocate