zoukankan      html  css  js  c++  java
  • shell脚本 回顾 小练习

    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
    
  • 相关阅读:
    接口与抽象类
    观察者模式
    kibana安装
    使用CGLib完成代理模式遇到的错误
    代理模式
    HashMap resize方法的理解(一)
    装饰模式
    volatile关键字解析(二)
    https网站引用http路径的js和css失效解决办法
    IIS7.5配置自动添加www 及 限制通过IP访问web
  • 原文地址:https://www.cnblogs.com/hanzhao1987/p/6099922.html
Copyright © 2011-2022 走看看