当前位置: 首页 > 面试题库 >

列出当前目录和所有子目录中特定大小的文件

濮佑运
2023-03-14
问题内容

如何在当前目录及其子目录中显示所有大于10k字节的文件。

尝试过,ls -size +10k但是没有用。


问题答案:

find . -size +10k -exec ls -lh {} \+

第一部分与@sputnicks答案相同,并成功查找目录中超过10k的所有文件(不要将k与K混淆),我的补充是,第二部分然后执行ls -lh或ls列出(-l)文件通过人类可读的大小(-h)。如果愿意,可以取反h。当然{}是文件本身,而\+仅仅是文件的替代\;

在实践中\;会重复或:

ls -l found.file; ls -l found.file.2; ls -l found.file.3

将其\+显示为一条语句或:

ls -l found.file found.file.2 found.file.3

更多\; vs +与find

另外,您可能希望按大小排序清单。这是相对容易实现的。我可以-s选择lsls -ls然后将其通过管道sort -n进行数字排序

变成:

find . -size +10k -exec ls -ls {} \+ | sort -n

或以相反的顺序添加-r:

find . -size +10k -exec ls -ls {} \+ | sort -nr

最后,标题说在目录中找到 最大的 文件。您可以通过将代码通过管道传递到tail

find . -size +10k -exec ls -ls {} \+ | sort -n | tail -1 会在目录及其子目录中找到最大的文件。

请注意,您还可以使用-S按大小对文件进行排序,并且不需要排序。但要找到最大的文件,您将需要使用head这样

find . -size +10k -exec ls -lS {} \+ | head -1

使用-S而不是-S的好处sort是,您不必键入,sort -n而您也可以使用-h人类可读的size选项来输入。这是我最喜欢使用的工具之一,但不适用于的旧版本ls,例如,我们有一个工作中的旧centOs
4服务器,而该服务器没有-h



 类似资料:
  • 问题内容: 列出1000多个目录和子目录中文件名的最快方法是什么? 编辑; 我使用的当前代码是: 问题答案: 看起来不错(递归遍历目录)瓶颈将是您需要执行的所有文件I / O操作,优化Java不会显示任何实际改进。

  • 问题内容: 有没有办法在Python中返回当前目录中所有子目录的列表? 我知道您可以使用文件来执行此操作,但是我需要获取目录列表。 问题答案: 你是指直接子目录,还是树下的每个目录? 无论哪种方式,你都可以使用以下方法: 将为每个子目录生成一个元组。该三元组中的第一个条目是目录名称,因此 应该递归地给你所有的子目录。 请注意,元组中的第二个条目是该条目在第一个位置的子目录的列表,因此你可以改用它,

  • 问题内容: 在Python中,我只想列出当前目录中的所有文件。我不希望从任何子目录或父目录中列出文件。 似乎确实有类似的解决方案,但它们似乎对我不起作用。这是我的代码段: 假设我在当前目录中有2个文件holygrail.py和Tim。我也有一个文件夹,其中包含两个文件- 我们称它们为Arthur和Lancelot。当我运行脚本时,这就是我得到的: 我对holygrail.py和Tim感到满意。但是

  • 在Python中,我只想列出当前目录中的所有文件。我不想从任何子目录或父目录中列出文件。 似乎也有类似的解决方案,但它们似乎不适合我。以下是我的代码片段: 假设我有两个文件,holygrail.py和蒂姆在我的当前目录。我也有一个文件夹,里面有两个文件——让我们称之为亚瑟和兰斯洛特。当我运行脚本时,这是我得到的: 我对holygrail.py和蒂姆很满意。但是亚瑟和兰斯洛特这两个文件,我不想列出来

  • 问题内容: 我已经看到了 列出目录中所有文件的 函数,但是我又如何也可以列出 子目录 中的所有文件,因此它会 返回一个数组 ? 所以 类似于 问题答案: foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator(‘.’)) as $filename) { // filter out “.” and “..” if (

  • 问题内容: 我在hdfs中有一个文件夹,其中有两个子文件夹,每个文件夹有大约30个子文件夹,最后每个子文件夹都包含xml文件。我想列出所有仅提供主文件夹路径的xml文件。在本地,我可以使用apache commons-io的 FileUtils.listFiles()执行此操作。我已经试过了 但是它仅列出了前两个子文件夹,并且没有进一步介绍。有什么办法可以在Hadoop中做到这一点? 问题答案: