统计多个文件夹中的文件数量以及文件夹中文件名的字符数

统计多个文件夹中的文件数量以及文件夹中文件名的字符数

我有一个无法解决的 Linux 问题。我尝试解决它 - 我也尝试搜索论坛,但没有找到任何线索 - 或解决它的方法。

问题:

编写命令来计算 Vegetables 和 Fruits 文件夹中的文件数量。答案必须保存在 CounterFood 文件中。允许多个命令。

执行这些命令后,系统会提示您执行以下操作:

必须将 Vegetables 和 Fruits 文件夹中的文件名中的字符总数添加到 CounterFood 文件中。可以使用多个命令。

尝试

我想过进行算术插入 - 但我没有找到这样的命令。

ls -l . Vegetables Fruits  | egrep -c '^-' >> CounterFood

我试图计算有多少个文件 - 但我无法将这两个文件夹一起计算。然后我想出了这个 - 我的想法是访问文件夹 - 并找到所有文件 - 然后对它们进行计数

find Vegetables Fruits -type f | wc - >>CounterFood 

问题的继续与开头直接相关。但一开始对我来说并不顺利——我不明白为什么。

答案1

第1部分

find Vegetables Fruits -type f -printf "x" | wc -c > CounterFood      # Print "x" for each filename and count them

第2部分

如果你的意思是添加那么这会起作用

namelen=$(find Vegetables Fruits -type f -printf "%f" | wc -c)        # Characters in file names
counterfood=$(cat CounterFood)                                        # Previous total

echo $((namelen + counterfood)) > CounterFood                         # Add them together

如果你的意思是附加那么这会起作用

find Vegetables Fruits -type f -printf "%f" | wc -c >> CounterFood    # Characters in file names

答案2

两个文件夹中的文件总数:

expr `ls -l Vegetables | sed 1d | wc -l` + `ls -l Fruits | sed 1d | wc -l` >> CounterFood

两个文件夹中文件名的总字符数:

expr `ls Vegetables | wc -c` + `ls Fruits  | wc -c` >> CounterFoods

希望这会有所帮助!

相关内容