shell脚本应用案例

实际的应用处理场景,从应用的角度举例子。
变量赋值不要有空格
变量赋值不要有空格
变量赋值不要有空格

eg1:读取单个文件

#!/bin/bash
# 文件路径
file_path=""

#文件存在校验
if [ -f ${file_path} ] then 
	echo "文件检测成功!"
else
	echo "文件不存在,请检查..."
	exit -1; #退出
fi
#循环读取文件内容
while read line 
do 
	echo ${line}
done < filename(${file_path})

eg2:读取目录下的所有文件

#!/bin/bash

# 1.指定目录
# 2.获取目录下的所有文件名称
# 3.循环读取每个文件的内容
dir=""

files=$(ls ${dir})

for file in ${files}; do 
	path="${dir}/${file}"
	echo "文件名:${path}"
	while read line
		do
			echo ${line}
	done < ${path}
done

eg3:查找文件内容是否包含字符串

#!/bin/bash
dir=""
file_name=`grep -rl 'good' ${dir}`
echo ${file_name}

grep详解

eg4:修改文件内容

#!/bin/bash
#有没有什么比较好的使用场景啊啊啊啊啊

sed详解

eg5:定时备份文件

备份文件脚本

#!/bin/bash
source_dir=
target_dir=

backup_file="${target_dir}/$(date +%Y%m%d%H%M%S).tar.gz"
# 如果目录不存在,创建新的目录
mkdir -p "${target_dir}" 

# 备份文件
tar -czvf "${backup_file}" "${source_dir}" 

#检查文件是否存在
if [ $? -eq 0 ]; then  
    echo "文件备份成功: ${backup_file}"  
else  
    echo "文件备份失败"  
fi

创建定时任务

#添加可执行权限
chmod +x backup.sh
#打开定时器
crontab -e
#创建定时任务
0 3 * * * 脚本目录

定时命令

eg6:解析配置文件

#!/bin/bash
param=`awk '分隔符' '/\['"$1"']\/[a=1]a==1&&$1~/'"$2"'/{gsub(/[[:blank:]]*/,"",$2):printf("$2\t",$2);exit}` 文件路径
echo ${param}

配置文件格式

[path1]
key1分隔符value1

[path2]
key2分隔符value2

awk详解

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值