如何显示当前目录中的大于10k字节的所有文件,以及它的子目录。
试过ls -size +10k但没有奏效。
pipe道| redirect<>优先
有一个Linux命令复制/replace“横幅”命令?
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
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 举报,一经查实,本站将立刻删除。