shell 实现判断目录下文件个数及大小
时间: 2024-04-14 15:26:00 浏览: 19
你可以使用Shell脚本来实现判断目录下文件的个数和总大小。下面是一个示例脚本:
```bash
#!/bin/bash
# 指定目录
directory="/path/to/directory"
# 统计文件个数
file_count=$(ls -A "$directory" | wc -l)
# 统计文件总大小
file_size=$(du -sh "$directory" | awk '{print $1}')
# 输出结果
echo "文件个数: $file_count"
echo "文件总大小: $file_size"
```
请将`/path/to/directory`替换为你要统计的目录的实际路径。运行脚本后,将会输出目录下文件的个数和总大小。
注意:该脚本仅统计目录下的文件数量和总大小,并不包括子目录。如果你需要统计子目录下的文件,可以使用`find`命令进行递归搜索并计算文件个数和大小。
相关问题
shell脚本实现查看指定目录下的所有文件或文件夹的大小
你可以使用以下的shell脚本来查看指定目录下所有文件或文件夹的大小:
```shell
#!/bin/bash
# 指定目录
directory="/path/to/directory"
# 遍历目录
for file in $directory/*; do
# 判断是否为文件或文件夹
if [ -f "$file" ] || [ -d "$file" ]; then
# 输出文件/文件夹名称和大小
echo "$file $(du -sh "$file" | cut -f1)"
fi
done
```
将上述脚本保存为一个.sh文件,然后将`/path/to/directory`替换为你想要查看的目录的路径。运行脚本后,它将逐个输出目录下的文件和文件夹名称以及它们的大小。
请注意,该脚本仅适用于Linux和类似的操作系统。在Windows中使用时,可能需要进行一些调整。
编写一个shell脚本,删除当前目录下所有文件大小为0的文件名为*.c文件
好的,以下是符合您要求的Shell脚本:
```
#!/bin/bash
# 切换到当前目录
cd $(dirname $0)
# 遍历当前目录下的所有文件
for file in $(ls)
do
# 判断文件是否为.c文件并且文件大小是否为0
if [[ $file == *.c && ! -s $file ]]
then
# 删除文件
rm -f $file
fi
done
echo "删除完成!"
```
请注意,本脚本会删除您当前目录下的所有大小为0的.c文件,建议您提前备份重要文件。