Questions tagged «find»

用于查找文件和目录的命令行实用程序。

3
如何合并多个`find`命令的输出?
find -type f -name "*.avi" -exec md5sum {} + > checklist.chk find -type f -name "*.mp4" -exec md5sum {} + > checklist.chk 如何结合这两个命令? 通过将两个搜索词组合到一个命令中,或者 这样每个命令都将其输出添加到同一文件中。 希望很清楚我要做什么。

2
apt-cacher会更改程序包的访问时间吗?
我尝试使用以下方法从apt-cacher存档中删除长时间未使用的软件包find: $ find /var/cache/apt-cacher -atime +5 -type f -name ".*deb*" | wc -l 8471 $ find /var/cache/apt-cacher -atime +9 -type f -name ".*deb*" | wc -l 2269 $ find /var/cache/apt-cacher -atime +10 -type f -name ".*deb*" | wc -l 0 我可以依靠“访问时间”来使用apt-cacher存档吗? 也就是说,“访问时间”仅在用户收到包裹时才更改吗? 我们使用apt-cacher已超过6个月。
11 12.04  apt  proxy  find  apt-cacher 

3
如何列出文件名超过“ 2015”的一天之前的文件?
我想列出不属于今天的所有日志文件,仅列出2015其名称中包含的文件。 这些是我尝试过的命令: find . -name 2015 -mtime +1 -exec ls -ltrh {} \; find . -name *2015* -mtime +1 -exec ls -ltrh {} \; 两者的输出都没有,但是文件仍然存在。这些命令出了些问题,但我没有得到什么。任何帮助,将不胜感激。

2
如何找到系统上的所有视频文件?
我尝试使用Unity Lens文件搜索*.*并按Last Modified = All,Type = Videos和Size = All 进行过滤,但什么也没找到,尽管我知道我的Pictures文件夹中有一些.3gp文件。我知道在文件系统上安装的另一个驱动器上也有许多视频文件。我编译了一个可能的扩展列表,并尝试find使用find./ -name“ * .ext” -o(等,等等,广告恶作剧),利用这些命令进行了无数次迭代,没有任何运气。解决办法是什么?

2
如何“查找”不返回当前目录
我目前正在尝试find(并复制)与指定模式匹配的所有文件和文件夹结构,位于指定目录中,而且我已经快到了! 具体来说,我想从指定路径中递归地复制所有不以'_'开头的文件夹。 find /source/path/with/directories -maxdepth 1 -type d ! -name _\* -exec cp -R {} /destination/path \; 在/ source / path / with / directories /路径中,是机器特定的目录,以'_'和其他目录开头,我只想复制其他目录。出于某种原因,find命令返回/ source / path / with / directories /目录,并因此复制其内容,包括以“ _”开头的目录。 有人暗示为什么会这样吗? 谢谢, 帕斯卡
11 find 

2
查找命令后使用连接器
我希望我的bash仅使用find命令在发现某些内容时打印“找到”。但是使用&&并没有帮助:即使什么也没找到,我还是会被“发现”打印出来。例: $ pwd /data/data/com.termux/files/home/test/test1/test4 $ ls xaa xab $ find . -name xac && echo 'found' found $ find . -name xaa && echo 'found' ./xaa found


2
用管道输入“类型”命令
我想找出几个命令的类型。在Linux中可以将管道或xargs搜索结果从管道传送find到type命令中吗? 例如: find . -name anacron | type 要么 find . -name anacron | xargs type


5
查找目录中每个扩展名的文件数
我想计算目录中每个扩展名以及不带扩展名的文件的数量。 我已经尝试了一些选项,但是还没有找到可行的解决方案: find "$folder" -type f | sed 's/.*\.//' | sort | uniq -c是一个选项,但如果没有文件扩展名则不起作用。我需要知道多少个文件没有扩展名。 我也尝试过将find循环放入数组中,然后对结果求和,但是这时该代码引发未声明的变量错误,但仅在循环之外: declare -a arr arr=() echo ${arr[@]} 这将引发未声明的变量,以及一旦查找循环完成。

3
取出“拒绝访问”行
当我find用来查看目录中的所有pdf文件时/home,我看到的是access denied。为了消除它们,我尝试: find /home -iname "*.pdf" | grep -v "access denied" 但是,结果是相同的。我如何摆脱这些界限?

5
查找没有路径的可执行文件名
我有一个包含许多可执行文件的文件夹,并且我想在find命令的结果中忽略该路径。该命令显示了我要查看的文件,但同时也列出了路径;我只想要文件名。 find /opt/g09 -maxdepth 1 -executable 如何获取find的输出以仅显示文件名而不显示完整路径?
9 find 

3
如何通过脚本中的变量将'*'通配符传递给find命令的路径参数?
我想用来find在一组受通配符限制的文件夹中查找文件,但是路径名中有空格。 从命令行,这很容易。以下示例均有效。 find te*/my\ files/more -print find te*/'my files'/more -print find te*/my' 'files/more -print 这些将在terminal/my files/more和中找到文件tepid/my files/more。 但是,我需要将其作为脚本的一部分。我需要的是这样的: SEARCH='te*/my\ files/more' find ${SEARCH} -print 不幸的是,无论我做什么,我似乎都无法find在脚本中的命令中混合使用通配符和空格。上面的示例返回以下错误(请注意反斜杠的意外加倍): find: ‘te*/my\\’: No such file or directory find: ‘files/more’: No such file or directory 尝试使用引号也会失败。 SEARCH="te*/'my files'/more" find ${SEARCH} -print 这将返回以下错误,而忽略了引号的含义: find: ‘te*/'my’: No such file …


2
使用`locate`命令搜索变音符号/重音符号
有时我需要搜索带有重音符号的文件(通常是变音符号),通常是使用locate / mlocate。我希望进行设置(也许在中/etc/updatedb.conf),这样我就可以使用某种语言映射来搜索这些特殊字符,例如: a == âàáäÂÀÂÄ e == êèéëÊÈÉË i == îïíÎÏ o == ôöóÔÖ u == ûùüÛÜÙ c == çÇ n == ñ 因此,locate -i liberación还要搜索具有字符串liberacion甚至liberaciòn的文件。 注释和假设 也许还有其他人:ÁÃÀÀÁÆÇÈÉÊËÌËÎÐÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãääææçèéêëëííïï¯ðñòóôõöøùúûüýþÿ。 这是浪漫语言(如西班牙语,法语和德语)中的常见情况。 我始终使用100%UTF-8语言环境。 我宁愿不必使用正则表达式。 补丁程序可能会像Unidecode / cUnidecode一样使用Unicode的ASCII音译。大部分mlocate是用C语言编写的。 有关 类似的问题,但使用 find MiloslavTrmač(mlocate开发人员)在这里说,官方源代码位于pagure.io上(以及Github上的fork上)。 我在Pagure.io的mlocate repo上提出了一个问题,以添加此功能。 2018年2月更新:此问题可以通过marcotrevisan的请求请求解决。将添加一个-t/ --transliterate支持iconv以匹配重音。 更新2018-03:Ubuntu 18.04 LTS Bionic Beaver(v2和v3.1)现在包含对它的mlocate支持。--transliterate

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.