给我一份统计linux服务器下特定目录及其子目录和目录下文件大小的脚本,并把结果以excel表格的形式输出
时间: 2024-02-27 22:58:34 浏览: 21
好的,以下是一个简单的脚本,它可以遍历特定目录及其子目录,计算每个目录下文件的大小,并将结果输出到一个Excel表格中。
```bash
#!/bin/bash
# 定义目标目录
target_dir="/path/to/target/directory"
# 定义输出文件名
output_file="output.xlsx"
# 创建一个空的Excel表格
echo -e "目录\t文件名\t大小" > $output_file
# 遍历目标目录及其子目录
find $target_dir -type f | while read file; do
# 获取文件所在目录
dir=$(dirname "$file")
# 获取文件名
filename=$(basename "$file")
# 获取文件大小
size=$(du -h "$file" | awk '{print $1}')
# 输出结果到Excel表格
echo -e "$dir\t$filename\t$size" >> $output_file
done
```
你可以将上面的脚本复制到你的Linux服务器上,并替换`/path/to/target/directory`为你要统计的目录的实际路径,然后运行它。
运行脚本后,它会在当前目录下创建一个名为`output.xlsx`的Excel表格,并将统计结果写入其中。你可以使用任何支持Excel格式的工具打开它,比如说Microsoft Excel、LibreOffice等。
相关问题
给我一份统计linux服务器下特定目录及其子目录和目录下文件大小的脚本
当然,以下是一个统计特定目录及其子目录和目录下文件大小的bash脚本:
```
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: $0 directory"
exit 1
fi
if [ ! -d "$1" ]
then
echo "$1 is not a directory"
exit 1
fi
du -h "$1"
```
将此脚本保存为`calculate_dir_size.sh`,然后在终端运行以下命令:
```
chmod +x calculate_dir_size.sh
./calculate_dir_size.sh /path/to/directory
```
这将打印出特定目录及其子目录和目录下文件大小的统计信息。
linux 写一个脚本,把源文件目录下的目录及其内容,复制到另外一个目录下
可以使用 `cp` 命令和递归参数 `-r` 来实现目录及其内容的复制。以下是一个简单的脚本示例:
```
#!/bin/bash
# 源目录和目标目录
src_dir="/path/to/source/directory"
dst_dir="/path/to/destination/directory"
# 复制源目录及其内容到目标目录
cp -r "$src_dir" "$dst_dir"
```
将以上脚本保存为一个文件,例如 `copy_dir.sh`,然后在终端中运行以下命令,即可执行脚本进行目录复制:
```
bash copy_dir.sh
```
注意,如果目标目录已存在,则会将源目录复制到目标目录下,成为目标目录的子目录。如果目标目录不存在,则会创建目标目录并将源目录复制过去。