我正在使用以下 find 命令递归列出文件夹中的所有文件并按大小对其进行排序(最大大小在顶部)
find . -not -path '*/\.*' -not -name '*.nfo' -type f -exec du -h {} + | sort -r -h
该命令运行良好,但我需要从每个结果中去除完整路径,只保留文件名。 Dir/AnotherDir/file.mp4 should be listed as file.mp4
通常,当我必须在 find 命令中执行此操作时,我只是使用-printf '%f\n'
但无法在我当前的命令中使用,因为 du 命令正在打印文件
只需对数据进行后处理:
find ... | sort ... | sed -E 's@[[:space:]].*/@ @'
或者
... | awk '{printf "%s\t%s\n", $1, $NF}' FS='\t\|/'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句