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

    −104

    1. 1
    вайп

    TarasGovno, 04 Января 2012

    Комментарии (1)
  2. bash / Говнокод #8894

    −103

    1. 1
    1

    TarasGovno, 04 Января 2012

    Комментарии (0)
  3. bash / Говнокод #8587

    −371

    1. 1
    ip=$(/bin/env | grep REMOTE_ADDR | cut -f 2 -d"=")

    nexeuse, 20 Ноября 2011

    Комментарии (15)
  4. bash / Говнокод #8473

    −125

    1. 1
    2. 2
    3. 3
    4. 4
    {  
       (cd "$DIR"; ls -1);
       {  xml2 < $XML | grep '/list/files/@path=' | cut -d = -f 2 | cut -d / -f 2 | sort | uniq; }   
    } | sort | uniq --count | grep '^ *1' | awk '{print $2}' | (cd "$DIR"; xargs --no-run-if-empty rm -v)

    Удаляет из "$DIR" всё, что не описано в files.xml.

    x28cnp, 10 Ноября 2011

    Комментарии (33)
  5. bash / Говнокод #8300

    −105

    1. 1
    Любите 1С

    alexoy, 26 Октября 2011

    Комментарии (18)
  6. bash / Говнокод #8261

    −133

    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
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    #!/bin/bash
    
    ps -eo pid,ppid,comm > data
    
    #treeNet[0]=1
    
    depth=0
    
    init=0
    tree()
    {
    
    #echo $1
    let depth=depth+1
    treeNet[$depth]=1
    
    for ((i=1;i<depth-1;i++))
    do
    # echo ${treeNet[$depth]}
    if [[ ${treeNet[$i]} -eq 0 ]]
    then
    echo -n " "
    fi
    if [[ ${treeNet[$i]} -eq 1 ]]
    then
    echo -n "¦ "
    fi
    
    done
    
    if [[ $init -ne 0 ]]
    then
    echo -n '¦====='
    else
    init=1
    fi
    #let depth=depth+1
    # treeNet[depth]=1
    #prints process name
    echo $(cat data | awk '{ if ($1 == '$1') print $3}' )
    
    
    #printing branches
    local count=0 #amount of child branches
    for i in $(cat data | awk ' {if ($2 == '$1' ) print $1 } ')
    do
    let count=count+1
    #echo $i
    done
    
    #recursive call tree()
    local n=0;
    for child in $(cat data | awk ' {if ($2 == '$1' ) print $1 } ')
    do
    
    let n=n+1
    # echo -n " # child no $n of $count depth $depth debug ${treeNet[1]} ${treeNet[2]} ${treeNet[3]} ${treeNet[4]}"; 
    if [[ $n -eq $count ]]
    then
    #echo -n " last " 
    treeNet[$depth]=0
    fi
    # echo
    # let n=n+1
    tree $child
    done
    treeNet[$depth]=0
    
    let depth=depth-1
    return 0
    }
    
    
    tree 1

    kurganec, 21 Октября 2011

    Комментарии (6)
  7. bash / Говнокод #8160

    −122

    1. 1
    2. 2
    # mount /var/run or /run (DONTFIXME: obscure black magic)
    mount_directory "$timestamp_base_dir" "$chroot_env_root"'/var/run'

    монтирование /var/run или /run (в зависимости от дистрибутива) в chroot, тоже в /var/run или /run, в зависимости от дистрибутива в chroot

    Shnatsel, 11 Октября 2011

    Комментарии (7)
  8. bash / Говнокод #8153

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Предлагаю конкурс на лучшую реализацию задачи про стеки.
    Язык - bash, python или любой скриптовый.
    Номинируются такие стадии
    1. Ленивая стека, push - o(n) pop o(1) top o(1) 
    2. Забывчивая стека, push - o(1), pop o(1) top o(1), для любого l : len(l)>=n push(l,x) = l
    3. Стека-очередь, push переводит стеку в режим очереди, pop переводит в режим стеки. top - O(1)
    4. Маразматическая стека, map (push l) (x1,x2,x3,x4) -> [x1, x1, x3, x3] o(n), pop(l) -> (x1,x1,x4) - номер сиротливого брата определяется старшим номером брата
    5. Бинарная стека - push o(1) pop o(1) top o(1), sort o(1), shuffle o(log(n))
    Номинантам лучших стадий будут достанутся приз

    Главное - не программировать стеку, а показывать всем, как я это делаю.
    До второй стадии осталось 22 часа. Второй шаг алгоритма

    alexoy, 10 Октября 2011

    Комментарии (19)
  9. 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)
  10. bash / Говнокод #7390

    −107

    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
    #!/usr/bin/env zsh
    
    A=( q w e r t y u i o p a s d f g h j k l z x c v b n m )
    B=( Q W E R T Y U I O P A S D F G H J K L Z X C V B N M )
    C=( 0 1 2 3 4 5 6 7 8 9 A B C D E F ) #hex
    F=( 1 2 4 )
    D=40
    E=10
    
    Char::GetRandA(){
        echo ${A[$(shuf -n 1 -i 1-${#A[@]})]}
    }
    
    Char::GetRandB(){
        echo ${B[$(shuf -n 1 -i 1-${#B[@]})]}
    }
    
    Char::GetRandC(){
        echo ${C[$(shuf -n 1 -i 1-${#C[@]})]}
    }
    
    Char::GetRandF(){
        echo ${F[$(shuf -n 1 -i 1-${#F[@]})]}
    }
    
    Main::Matrix(){
        for i in {1..$D}; do
            for b in {A,B,C}; do
                echo -n '\033[0;3'$(Char::GetRandF)"m$(Char::GetRand$b) "
            done
        done
    }
    
    #Run
    for i in {1..$E}; do
        Main::Matrix
    done

    дело было вечером...

    james, 29 Июля 2011

    Комментарии (16)