shell脚本小练习#003:向创建的文件中写入数据内容

实例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 "$@"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值