find grep awk sed

作者: fulj | 来源:发表于2019-07-02 16:46 被阅读0次

    find

    找文件找路径

    find /home/ -name "text.txt" 
    find /home/test/ -name "*.txt"
    find / -name "*.txt" |more #加管道符
    find /home/ -name "text.txt"  -type f # 找文件
    find /home/ -name "text.txt"  -type d # 找路径
    find /home/ -name "*.txt"  -type d -mtime +30 #modify time 找30天以前的,-1 就是一天以内的
    find /home/ -name "*.txt"  -type d -mtime +30 -size +1k # 大于1k的 
    find /home/ -name "*.txt"  -type f -mtime -1 -size +5M -perm 755 # 权限 perm
    find . -type f -exec chmod -R 644 {} \; # 修改当前目录下所有文件的权限
    

    加管道符带参数

    # |xargs 的意思是将find的结果填充后面rm命令{}的 支持的命令少
    # \; 固定格式。暂时不知道什么意思
    find . -name "*.txt" -type d -mtime -1 |xargs rm -rf {} \;
    # 注意这里用|xargs 不行 支持的命令多,建议用这个 cp mv chmod chown
    find . -name "*.txt" -type d -mtime -1 -exec cp -r {}  /tmp/ \;
    

    grep

    find 是找文件名 grep 是找文件里面的内容

    grep -n --color "root" /etc/passwd # 在passwd文件中找到root并高亮,-n 表示显示行号,
    

    过滤空行和注释 正则 --color可以看匹配到什么

    grep -v "#" /usr/local/nginx/conf/nginx.conf|grep -v "^$" #^表示头,$表示结尾
    #grep -E = egrep 扩展
    egrep --color "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" test.txt # 匹配IP 
    

    awk

    打印一个文件的某一列,列与列之间空格分开

    awk '{print $1}' test.txt #打印第一列
    awk '{print $(NF-1)}' test.txt #打印倒数第二列,NF表示最后一列
    awk -F: '{print $1":"$NF}' /etc/passwd|head -5 # -F: format 根据:
    
    #找ip地址
    ifconfig|grep "inet"|grep -v "127.0.0.1"|awk {'print $2'}|egrep "([0-9]{1,3}\.){3}[0-9]{1,3}$"|awk -F. '{print $1"-"$2"-"$3"-"$4}'
    # 改主机名 注意是反引号
    hostname `ifconfig|grep "inet"|grep -v "127.0.0.1"|awk {'print $2'}|egrep "([0-9]{1,3}\.){3}[0-9]{1,3}$"|awk -F. '{print $1"-"$2"-"$3"-"$4}'`
    

    sed

    利用sed命令来处理文本文件、

    相关文章

      网友评论

        本文标题:find grep awk sed

        本文链接:https://www.haomeiwen.com/subject/knbzcctx.html