微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

试过ls -size +10k但没有奏效。

pipe道| redirect<>优先

一个Linux命令复制/replace“横幅”命令?

如何设置一个别名,以便它将改变目录并运行sh文件

如何在Linux中删除名为“?”的文件

Windows'start / b'命令问题

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

第一部分与@sputnicks的答案是一样的,并且sucesffully找到超过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

另外,您可能希望按大小排序。 这是相对容易完成的。 我会选择ls ,所以ls -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 find . -size +10k -exec ls -ls {} + | sort -n | tail -1会找到你目录中的最大文件及其子目录。

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

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

使用-s和不sort的好处是一,你不必键入sort -n和二你也可以使用-h人可读大小选项。 这是我最喜欢使用的一个,但不适用于ls旧版本,例如我们有一个旧的centos 4服务器在工作,没有-h

尝试这样做:

find . -size +10k -ls

如果你想使用二进制ls :

find . -size +10k -exec ls -l {} ;

我意识到这个任务很可能已经结束了。 对于其他人:

你太过分了

find . -size +10k

我会添加到@matchew答案(没有足够的业力点评论):

find . -size +10k -type f -maxdepth 1 -exec ls -lh {} ; > myLogFile.txt

-type f:指定常规文件类型

-maxdepth 1:确保它只在当前目录中找到文件

你可以使用这样的ls :

ls -lR | egrep -v '^d' | awk '$5>10240{print}'

说明:

ls -lR # list recursivly egrep -v '^d' # only print lines which do not start with a 'd'. (files)

只有打印第五列(大小)大于10240字节的行:

awk '$5>10240{print}'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐