首页 > 解决方案 > 计算文件数量并将它们保存在 HTML 文件中

问题描述

我的 synology-diskstation 中有很多电影(一个文件夹中有超过 15,000 个文件的图片),我认为最快的方法是计算文件的数量一个简单的 shell 脚本 - 问题是我还有一些电影预告片。

所有电影都有文件扩展名.mp4,一些文件有一个预告片文件,所有文件的文件名都有流派。

文件名语法示例 - 永远相同:

Moviename (Action) (2011) HD Trailer.mp4
Moviename (Action) (2011) HD.mp4
Moviename2 (Drama) (2015) HD Trailer.mp4
Moviename2 (Drama) (2015) HD.mp4
Moviename3 (Horror) (2012) HD Trailer.mp4
Moviename3 (Horror) (2012) HD.mp4
  1. 我需要一个命令来获取所有没有预告片的电影的结果 - 每个类型。

  2. 如何生成简单的 HTML 表格文件?

我的想法 - 未经测试:

CountActionTrailer="`ls /some/path/noviedir/ | grep '(Action)*Trailer.mp4' | wc -l`"
CountActionMovies="`ls /some/path/noviedir/ | grep '(Action)*.mp4' | wc -l`"
CountActionRealcount=$((CountActionMovies-CountActionTrailer))

带有代码示例的问题 1 和 2 的任何想法或更好的想法?

标签: shell

解决方案


试试这个脚本

#!/bin/sh

GENRES="Action Drama Comedy"

TABLE='<table><tr><th>Genre</th><th>Count</th></tr>'
for G in ${GENRES};do
        COUNT=`ls | grep "($G)" | grep -v Trailer | wc -l)`
        echo "GENRE:$G COUNT:$COUNT"
    TABLE=$TABLE"<tr><td>$G</td><td>$COUNT</td></tr>"
done
TABLE=$TABLE"</table>"
echo $TABLE

如果您希望将 HTML 表格保存在文件中,只需输入

echo $TABLE > filename.html

在脚本的末尾。


推荐阅读