• find命令统计目录下的普通文件如何使用shell脚本来实现呢?


    find命令本身实现查找普通文件是很方便的,比如:

    [root@node2 nginx-1.16.1]# find auto -type f | xargs ls -l
    -rw-r--r-- 1 1001 1001   201 Aug 13  2019 auto/cc/acc
    -rw-r--r-- 1 1001 1001  1275 Aug 13  2019 auto/cc/bcc
    -rw-r--r-- 1 1001 1001  1324 Aug 13  2019 auto/cc/ccc
    -rw-r--r-- 1 1001 1001  1881 Aug 13  2019 auto/cc/clang
    

    当然,这一操作我们也可以使用shell脚本来实现

    #! /bin/bash
    function read_dir(){
    for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令
    do
    	if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错
     	then
     		read_dir $1"/"$file
     	else
     		ls -l $1"/"$file #在此处处理文件即可
     	fi
    done
    } 
    
    [ -z $1 ] && exit 1
    #读取第一个参数
    read_dir $1
    

    我们执行一下这个脚本

    [root@node2 nginx-1.16.1]# bash ss.sh auto
    -rw-r--r-- 1 1001 1001 201 Aug 13  2019 auto/cc/acc
    -rw-r--r-- 1 1001 1001 1275 Aug 13  2019 auto/cc/bcc
    -rw-r--r-- 1 1001 1001 1324 Aug 13  2019 auto/cc/ccc
    -rw-r--r-- 1 1001 1001 1881 Aug 13  2019 auto/cc/clang
    -rw-r--r-- 1 1001 1001 5269 Aug 13  2019 auto/cc/conf
    

    看的出来达到了同样的目的。

  • 相关阅读:
    Spark ML 文本的分类
    Linxu 安装Scala
    Nginx访问非常慢
    mysql:unknown variable 'default-character-set=utf8'
    mysql 1045
    mysql: error while loading shared libraries: libnuma.so
    elasticsearch: can not run elasticsearch as root
    Java中的Class类
    ClassLoader工作机制
    遍历机器查日志
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/13527948.html
Copyright © 2020-2023  润新知