【问题标题】:Linux find with symlink recursion and some extrasLinux find 带有符号链接递归和一些附加功能
【发布时间】:2014-03-04 13:14:32
【问题描述】:

我目前正在监视许多目录中的日志文件;特别是那些刚刚创建的。自从我的 Linux 以来已经有很长时间了,经过一些试验和错误,我已经将我需要的东西拼凑在一起,但需要整整 20 秒或更长时间才能返回。我希望我可以请专家来看看它,并就一些更精简的东西给我建议。

find . -type f -follow -print | xargs ls -ltr 2>/dev/null | grep '2\?10' | tail

例如,查找与名称匹配的最后 10 个文件。理想情况下,我想把它变成一个接受一个参数并替换 grep 表达式的 bash 脚本,但我一次只计算一件事。

提前感谢您的帮助!

【问题讨论】:

    标签: linux find symlink xargs


    【解决方案1】:

    我硬着头皮写了剧本;稍后我会进一步修改它。

    #!/bin/bash
    
    if [ $# != 2 ]; then
      echo findLog Usage: findLog [3 digit cluster] [pick 1: main message service detail soap]
      exit 0
    fi
    
    if [ "$2" == "service" ]; then
         file="$2-time-"
    elif [ "$2" == "detail" ]; then
         file="$2-time-"
    else file="$2-"
    fi
    
    cluster="$1"
    
    #store logpaths for readability
    a="/pathto/A"
    b="/pathto/B"
    c="/pathto/C"
    d="/pathto/D"
    e="/pathto/E"
    f="/pathto/F"
    g="/pathto/G"
    h="/pathto/H"
    
    
    logpaths=( $a $b $c $d $e $f $g $h )
    
    for i in "${logpaths[@]}"
    do
       ls -ltr "$i"/*.log | grep "$file"${cluster:0:1}${i: -1}${cluster: -2}
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      相关资源
      最近更新 更多