shell脚本 回顾 小练习

本文介绍了一系列Shell脚本实例,包括文件重命名、进程管理、日志备份等常见任务的操作方法,并展示了如何使用awk进行数据处理。

1.把/OPT目录下(包含子目录)下所有后缀为“.sh”的文件后缀变更为“.shell”
2.将A、B、C目录下的文件A1、A2、A3文件改名为A4、A5、A6
3.如何在vi模式下将文件中的aa字符串批量改成bb

 

1.

#!/bin/bash
dir=/hanzhao
files=`find /hanzhao/ -name '*.sh'`
for file in $files
do
# echo $file
 filename=${file%.*}
# echo $filename
 mv $file ${filename}.shell
done

2.

#!/bin/bash
    file=`ls /[ABC]/A[123]`
    for i in $file        
        do
        num=${i##*A}
        let num1=num+3 
       # echo $num1
       # num2=${i%A*} 
       # echo $num2 
        mv $i ${i%A*}A$num1
    done

3.

直接用vi打开文件,之后再读模式下 直接输入 :%s#aa#bb#g

 4备份每天的日志

#!/bin/bash
cp /opt/lampp/logs/access_log /opt/bak_access_log-`date +%Y%m%d%H%M`
>/opt/lampp/logs/access_log

 5.启动停止 lampp

#!/bin/bash
start=0
pidnum=`ps aux|grep "/opt/lampp/*"|wc -l`
echo ${pidnum}
if [ ${pidnum} -gt 1 ]
then 
echo 'lampp is start'
read -p 'Do you wish to stop lampp? y or n:  ' yn
case $yn in
[Yy]* )start=1;;
[Nn]* )exit;;
 * )echo 'Please answer Y or N'
exit;;
esac
else
echo 'lampp is stop,doing start'
read -p 'Do you wish to start lampp? y or n:  ' yn
case $yn in
[Yy]* )start=0;;
[Nn]* )exit;;
 * )echo 'Please answer Y or N'
exit;;
esac
fi

if [ ${start} -eq 1 ]
then ps aux|grep "/opt/lampp/*"|grep -v "grep"|awk '{print $2}'|xargs kill -9
echo 'lampp is stop'
else 
/opt/lampp/lampp start
echo 'lampp is start'
fi

 

 5.根据进程号查询启动路径

#!/bin/bash
pid=`ps -ef|grep "httpd"|grep -v "grep"|awk '{print $2}'`
echo ${pid}
for every_pid in ${pid}
do 
exe_path=`ls -l /proc/${every_pid}|grep "exe ->"|awk '{print $NF}'`
echo "exe_path:"${exe_path}
done

 6.杀死 进程

ps -ef |grep "httpd"|grep -v "grep"|awk '{print$2}'|xrags kill -9

 7.条件查询文件

awk -F","  '{if($1==1||$2>34&&....)print}'  a.txt

 8.awk 求平均值:

awk '{NR>1}BEGIN{sum=0;num=o}{if($1==2){sum+=$2;num+=1}}END{print(sum/num)}' hanzhao

 

转载于:https://www.cnblogs.com/hanzhao1987/p/6099922.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值