• Linux统计某文件夹下文件、文件夹的个数


    • 统计一组目录下的单词出现情况

    for i in {5..8}; do zgrep 'There are 1 records need to update, 0 records update successfully.' machine${i}/201506/xxxx.log.2015-06-14-*.gz; done

    • 遍历查询多台服务器上的日志

    atnodes 'zgrep /home/yp/app/hello-world/logs/request.log*' machine[a-z] | sort -t '#' -k1,1
    atnodes "less /home/yp/app/hello-world/logs/hello-world.log | grep -C 20 '获取到的产品:' --color " machine-name
    atnodes "tail -f /home/yp/app/hello-world/logs/error.log" machine[a-c]
    atnodes "tail -n50 /home/yp/app/hello-world/logs/hello-world.log" machine[a-b]

    • Top-N统计:
      sort +awk+uniq 统计文件中出现次数最多的前10个单词

    实例:

    cat logt.log|sort -s -t '-' -k1n |awk '{print $1;}'|uniq -c|sort -k1nr|head -100

    1. 使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词。

    cat words.txt | sort | uniq -c | sort -k1,1nr | head -10

    1. 主要考察对sort、uniq命令的使用,相关解释如下,命令及参数的详细说明请自行通过man查看,简单介绍下以上

    2. 指令各部分的功能:

    sort: 对单词进行排序
    uniq -c: 显示唯一的行,并在每行行首加上本行在文件中出现的次数
    sort -k1,1nr: 按照第一个字段,数值排序,且为逆序
    head -10: 取前10行数据

    • 统计某文件夹下文件的个数

      ls -l |grep "^-"|wc -l

    • 统计某文件夹下目录的个数

      ls -l |grep "^d"|wc -l

    • 统计文件夹下文件的个数,包括子文件夹里的

      ls -lR|grep "^-"|wc -l

    • 如统计/home/han目录(包含子目录)下的所有js文件则:

      ls -lR /home/han|grep js|wc -l 或 ls -l "/home/han"|grep "js"|wc -l

    • 统计文件夹下目录的个数,包括子文件夹里的

      ls -lR|grep "^d"|wc -l

    • 说明:

      ls -lR

    • 长列表输出该目录下文件信息(R代表子目录注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

      grep "^-"

    • 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

      wc -l

    • 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

    ======================================
    如果只查看文件夹
    ls -d 只能显示一个.
    find -type d 可以看到子文件夹
    ls -lF |grep /ls -l |grep '^d' 只看当前目录下的文件夹,不包括往下的文件夹

  • 相关阅读:
    Oracle 的日期类型
    简单的同步Socket程序服务端
    MMORPG中的相机跟随算法
    使用了UnityEditor中的API,打包时却不能打包UnityEditor的问题
    C# 中的关键字整理
    Unity3D C#中使用LINQ查询(与 SQL的区别)
    C# 值类型与引用类型的异同
    Unity3D NGUI事件监听的综合管理
    Unity3D 动画状态机简单控制核心代码
    Unity3D判断触摸方向
  • 原文地址:https://www.cnblogs.com/yepei/p/5650279.html
Copyright © 2020-2023  润新知