实例1: 创建多个文件并向创建的文件中写入数据内容
# 创建多个文件并向创建的文件中写入数据内容
#!/bin/bash
# 创建文件目录以及日志文件
function create_test_dir() {
local num=$1
if [ -d "test" ]; then
rm -rf test
fi
mkdir test
for i in $(seq 1 $num); do
mkdir test/case$i
touch test/case$i/cae_${i}_log.txt
done
}
# 向日志文件中写入内容
function add_file_names() {
for folder in test/*; do
for file in "$folder"/*; do
echo "Filename: $(basename "$file")" > "$file"
done
done
}
function main()
{
create_test_dir $1
add_file_names
}
main "$@"
实例2:将创建的文件统一拷贝到一个目录下
# 在脚本的同级新创建一个log文件目录用于保存log,将以之前创建的log文件拷贝到新创建的log文件目录下
#!/bin/bash
# 创建文件目录以及日志文件
function create_test_dir() {
local num=$1
if [ -d "test" ]; then
rm -rf test
fi
mkdir test
for i in $(seq 1 $num); do
mkdir test/case$i
touch test/case$i/case_${i}_log.txt
done
}
# 向日志文件中写入内容
function add_file_names() {
for folder in test/*; do
for file in "$folder"/*; do
echo "Filename: $(basename "$file")" > "$file"
done
done
}
# 将以上创建的文件统一拷贝到一个目录下
function move_logs_to_dir() {
if [ -d "logs" ]; then
rm -rf logs
fi
mkdir logs
cp -r test/*/case_*_log.txt logs/
}
function main()
{
create_test_dir $1
add_file_names
move_logs_to_dir
}
main "$@"
实例3:对logs目录下的所有文件进行打印测试
# 对logs目录下的所有文件进行打印测试
#!/bin/bash
# 创建文件目录以及日志文件
function create_test_dir() {
local num=$1
if [ -d "test" ]; then
rm -rf test
fi
mkdir test
for i in $(seq 1 $num); do
mkdir test/case$i
touch test/case$i/case_${i}_log.txt
done
}
# 向日志文件中写入内容
function add_file_names() {
for folder in test/*; do
for file in "$folder"/*; do
echo "Filename: $(basename "$file")" > "$file"
done
done
}
# 将以上创建的文件统一拷贝到一个目录下
function move_logs_to_dir() {
if [ -d "logs" ]; then
rm -rf logs
fi
mkdir logs
cp -r test/*/case_*_log.txt logs/
}
function print_logs() {
for file in logs/*; do
echo "File: $file"
cat "$file"
echo "---------------"
done
}
function main()
{
create_test_dir $1
add_file_names
move_logs_to_dir
print_logs
}
main "$@"