1. bash / Говнокод #7625

    −132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    found_files() 
    { 
     if [ "$DAY_CONF" = 'all_last' ]; then 
     files=$( ls -1 "$FILEPATH" | grep "$FILE_PREFIX" | grep -v `date "$DATE_PREFIX"` ) 
     fi 
     
     if [ "$DAY_CONF" = 'last' ]; then 
     if [ "`date +%d`" -eq '01' ]; then 
     case "`date +%m`" in 
     02|04|06|09|11 ) 
     need_date=31; 
     ;; 
     03 ) 
     if [ -n "$( ls -1 "$FILEPATH" | grep "$FILE_PREFIX" | grep `date +%Y0229` )" ]; then need_date=29; else need_date=28; fi; 
     ;; 
     * ) 
     need_date=30; 
     ;; 
     esac 
     if [ "`date +%m`" -eq '01' ]; then 
     need_month=12 
     need_date=31 
     need_year=$(( `date +%Y` - 1 )) 
     files=$( ls -1 "$FILEPATH" | grep "$FILE_PREFIX" | grep "$need_year$need_month$need_date" ) 
     else 
     need_month=$((`date +%m` - 1 )) 
     files=$( ls -1 "$FILEPATH" | grep "$FILE_PREFIX" | egrep `date ${DATE_PREFIX%%%m*}[0]*$need_month$need_date` ) 
     fi 
     else 
     need_date=$((`date +%d` - 1)) 
     files=$( ls -1 "$FILEPATH" | grep "$FILE_PREFIX" | egrep `date ${DATE_PREFIX%%%d*}[0]*$need_date` ) 
     fi 
     fi 
     
     if [ "$DAY_CONF" = 'today' ]; then 
     files=$( ls -1 "$FILEPATH" | grep "$FILE_PREFIX" | grep `date "$DATE_PREFIX"` ) 
     fi 
     echo $files 
    }

    Замечательная функция поиска файлов "за вчера". Находит файлы не только "за вчера".
    Автор неизвестен.

    Запостил: SadKo, 23 Августа 2011

    Комментарии (6) RSS

    • А ведь программе find уже три четыре десятка лет.
      Ответить
      • Не совсем верно поняли, наверное. В имени файла дата содержится, а не по mtime/ctime поиск осуществляется.
        Ответить

    Добавить комментарий