Linux 按文件类型和大小显示文件的终端命令/脚本

Linux 按文件类型和大小显示文件的终端命令/脚本,linux,bash,file,sorting,size,Linux,Bash,File,Sorting,Size,我必须不断地处理大量需要排序的文件——按大小和文件类型。请分享您对bash脚本或终端命令(具有正确参数)的任何建议,这些命令将按照上述标准对文件进行排序。脚本的一大优点是还可以按文件类型显示文件的实际数量,如下所示: 831个JPEG文件/566MB 122 MP4文件/4000MB 98个ZIP文件/50MB 我对Linux比较陌生,所以任何关于这个脚本/命令的不同部分的反馈都会非常棒,因为我想了解它实际上是如何工作的 提前谢谢大家 按大小列出: ls -lS 仅列出包含“.txt”的文

我必须不断地处理大量需要排序的文件——按大小和文件类型。请分享您对bash脚本或终端命令(具有正确参数)的任何建议,这些命令将按照上述标准对文件进行排序。脚本的一大优点是还可以按文件类型显示文件的实际数量,如下所示:

  • 831个JPEG文件/566MB
  • 122 MP4文件/4000MB
  • 98个ZIP文件/50MB
我对Linux比较陌生,所以任何关于这个脚本/命令的不同部分的反馈都会非常棒,因为我想了解它实际上是如何工作的

提前谢谢大家

按大小列出:

ls -lS
仅列出包含“.txt”的文件:

对包含“.txt”的文件进行计数:

你可以试试这个:

ls -lshR
使用开关
-h
可以轻松读取维度(人类可读),使用开关
-R
可以递归进入文件夹

最后,您可以使用
grep
命令保存输入并查找文件类型:

$ ls /your_dir -lshR > your_file
file Kalimba.mp3
现在您可以搜索这些文件了

$ grep -e .mp4 your_file

您是否假设文件扩展名决定了文件的类型?在Linux中不一定如此,我们倾向于测试实际的文件内容。为此,您可以使用
文件
命令:

$ ls /your_dir -lshR > your_file
file Kalimba.mp3
返回

Kalimba.mp3:    MPEG-1 Layer 3 with ID3v2

现在我必须弄清楚如何将这些粘贴到脚本中。谢谢如果有任何人有更多的建议,欢迎他们提供。上述解决方案是无效的,因为他们没有做我在最初的帖子中概述的事情。假设我有一个名为boo/I-want的目录,它将提供一个结果,作为我原始查询中的一个,而不是列出所有的文件,并在它们旁边显示它们各自的大小。类似这样的东西:1GB-jpeg在boo中/2GB-MP4s在boo中/3GB-MP3s在boo中/我发现很难解释得更简单。不,他假设具有相同扩展名的文件将被计算在一起。