• SHELL用法六(Find语句)


    1、SHELL编程Find语句案例实战
    1)SHELL编程四剑客工具:Find、Grep、Sed、Awk,通过四剑客可以完成常规Linux指令无法完成或者比较复杂的功能,学好SHELL编程四剑客有助于SHELL编程能力再上一层楼。
    2)SHELL编程四剑客之一的Find工具,主要是用于Linux操作系统去查找某个文件和目录所在的位置的(绝对路径),Find工具的语法格式:
    find(工具) path(路径) -option(参数) -action(动作);
    find
    path
    -option
    [ -print ]
    [ -exec
    -ok
    command ]
     Path路径:给定find工具一个大概的范围,从哪个范围去查找;
     Option参数:按照某些特征:-name、-size、-mtime、-user;
     Action动作:找到文件或者目录之后执行的操作的动作(打印、执行);
    3)SHELL编程四剑客Find工具案例操作一,基于Find工具查找Linux系统下eth0网卡配置文件所在的路径。
    find / -name eth0
    find / -name ifcfg-eth0
    find / -name "*eth0"
    find /etc/ -name "*eth0"
    find /etc/sysconfig/network-scripts/ -name "*eth0"
    4)SHELL编程四剑客Find工具案例操作二,基于Find工具查找Linux系统下auto_mysql_backup.sh所在的路径。
    find / -name auto_mysql_backup.sh
    find / -name *mysql_backup*.sh
    5)SHELL编程四剑客Find工具案例操作三,基于Find工具查找Linux系统下以.rpm结尾的软件包,并且找到以mariadb命名开头的包,排除mariadb-libs包。
    find / -name "*.rpm"
    find / -name "mariadb*rpm"
    find / -name "*.rpm" -a -name "mariadb*"
    find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"
    find / -name "*.rpm" -a -name "mariadb*" -a ! -name "mariadb-libs*
    6)SHELL编程四剑客Find工具案例操作四,基于Find工具查找Linux系统下以.rpm结尾的软件包,并且找到以mariadb命名开头的包,排除mariadb-libs包,并且将剩余软件包拷贝至/tmp/目录。
    for soft in `find / -name "*.rpm" -name "mariadb*" ! -name
    "mariadb-libs*"`;do cp $soft /tmp/;done
    cp `find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"`
    /tmp/
    cp $(find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*")
    /tmp/
    find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*" -exec cp
    {} /tmp/ ;
    find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"|xargs -I {}cp {} /tmp/
    7)SHELL编程四剑客Find工具案例操作五,查找/data/logs/目录大于10M并且小于30M的文件,以.log结尾,并且日志文件是3天以前的,并且将其移动至/data/backup/目录下。
    find /data/logs/ -size +10M -size -30M -type f -mtime +3 -name
    “*.log”-exec mv {} /data/backup/ ;
    8)SHELL编程四剑客Find工具案例操作六,查找当前目录,第一级目录深度的目录,排除隐藏文件,并且命名以a开头的,命令如下:
    find . -maxdepth 1 -type d ! -name ".*" -name "a*"
    2、SHELL编程Sed语句案例实战
    1)SHELL编程四剑客之二的Sed工具,主要是用于Linux系统文本文件的编辑、打印的,也称为非交互模式编辑器(vi|vim交互模式编辑器),Sed工具的语法格式:
    sed -option(参数) ‘Command’(命令) file(文件对象)
     Option参数:-i(修改)、-n(静默模式)、-e(扩展)、-l、-b、-c;
     Command命令:p(打印)、d(删除)、N(多行)、G、D;
    2)SHELL编程四剑客Sed工具案例操作一,基于Sed工具将list.txt文件中的用户名root改为jfedu,命令如下:
    sed s/jfedu/root/g list.txt
    sed 's#jfedu#root#g' list.txt
    sed -i 's#jfedu#root#g' list.txt
    sed -e '3s/2/100/g' -e '4s/3/100/g' list.txt
    sed '3s/2/100/g;4s/3/100/g' list.txt
    sed '3,$s/11/100/g' list.txt
  • 相关阅读:
    Atitit 引流矩阵与矩阵引流 推广方法 attilax总结
    Atitit 怎么阅读一本书 消化 分析 检索 attilax总结 1. 读书的本质 是数据的处理,大量的数据,处理能力有限的大脑 2 2. ETL数据清洗转换 摘要,缩小数据规模 2 2.1
    Atitit 为什么要读书,读书的好处是什么 attilax总结
    Atititi. naming spec 联系人命名与remark备注指南规范v5 r99.docx
    Atitit 安全规范 指南 常见五种意外防止规范 attilax总结
    数据安全 密码学原理与概论
    Atitit 理财之道分期与利率的比较列表 attilax总结
    Atitit 完整知识体系表 attilax总结 要读哪些书
    Atitit 为什么互联网机会这么大
    Atitit 建立新组织集团模型的框架基本制度与一些原则
  • 原文地址:https://www.cnblogs.com/nshgo/p/12157475.html
Copyright © 2020-2023  润新知