![如何获取所有用户的 50 个大文件的所有者和完整路径?](https://linux22.com/image/59794/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E6%89%80%E6%9C%89%E7%94%A8%E6%88%B7%E7%9A%84%2050%20%E4%B8%AA%E5%A4%A7%E6%96%87%E4%BB%B6%E7%9A%84%E6%89%80%E6%9C%89%E8%80%85%E5%92%8C%E5%AE%8C%E6%95%B4%E8%B7%AF%E5%BE%84%EF%BC%9F.png)
下面的命令列出了前 50 个文件,无论子文件夹如何。
$ls -lR /root/home | sort +4 -5nr | head -50
当前结果:
-rw-r--r-- 1 john dpst 192954384 Nov 7 07:36 filenxx1.gz
-rw-rw---- 1 paul dpst 192188934 Nov 18 10:10 filenyyy1.mov
我的新要求是获取它的“所有者”和它的“完整路径”
预期结果:
john /home/dev/proj/filenxx1.gz
paul /home/dev/proj/filenyyy1.mov
请帮助我如何循环 50 个文件的列表并使用“find”或 unix 中的任何命令获取所有者和完整路径。
答案1
find /root/home -printf "%s\t%u\t%p\n" | sort -rn | head -50 | cut -f2-
输出find
大小、所有者和完整路径,然后删除cut
您不需要的第一个字段。