当前位置: 首页>>技术教程>>正文


如何在目录中查找具有相同扩展名的所有文件

,

问题描述

我是Linux的初学者,我想在/etc/中搜索所有.conf文件。

我试过grep -r *.conf /etc,但结果不对。

我究竟做错了什么?

最佳解决思路

只需按键盘上的Ctrl + Alt + T即可打开终端。打开时,运行以下命令:

find . -type f -name "*.txt"

这将列出扩展名为.txt的所有文件。

开头的.表示当前目录。 find在给定路径下的所有目录中递归搜索。如果希望搜索从当前工作目录以外的其他位置开始,请指定路径,例如:

find /etc -type f -name "*.conf"

这将在/etc目录及其所有子目录中搜索具有.conf扩展名的常规文件。

次佳解决思路

我个人使用find,但你也可以为这些东西进行全局测试:

shopt -s globstar
ls /etc/{,**/}*.conf

你可以使用locate,它很快但不可靠。

locate '/etc/**.conf'

第三种解决思路

grep搜索文件的内容,而不是文件名。

要查找/etc/中的所有.conf文件,您需要查找:

find /etc -name "*.conf"

第四种思路

find命令很慢,使用此命令会立即给你结果:

locate "/etc/*.conf"

有关locate命令(在mlocate包中)的更多信息,请访问:https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1863.html,未经允许,请勿转载。