Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. #!/bin/bash
  2. if [ "$#" != "2" ]
  3. then
  4. echo "USAGE $0 directoryName date"
  5. exit 0
  6. fi
  7.  
  8. if [ ! -d $1 ]
  9. then
  10. echo "$1 ne postoi"
  11. exit 0
  12. fi
  13.  
  14. #za da proveram dali vtoriot
  15. #argument e vo dobar format
  16. #kje go stavam vo niza
  17. #i kje proveram golemina na niza
  18. #(mora da bide 2)
  19. #i sekoj clen na nizata posebno
  20.  
  21. brojac=0
  22. niza=
  23.  
  24. for DEL in $2
  25. do
  26. niza[${brojac}]=$DEL
  27. brojac=$(( $brojac + 1 ))
  28. done
  29.  
  30. dolzina=${#niza[*]}
  31.  
  32. if [ "$dolzina" != "2" ]
  33. then
  34. echo "Formatot na datumot mora da e imeNaMesec den"
  35. exit 0
  36. fi
  37.  
  38. imeMesec=${niza[0]}
  39. denMesec=${niza[1]}
  40.  
  41. flagImeMesec=`echo $imeMesec | egrep '^[A-Z][a-z]+$'| wc -l`
  42. flagDenMesec=`echo $denMesec| egrep '^[0-9]+$' | wc -l`
  43.  
  44. if [ $flagImeMesec -eq 0 ]
  45. then
  46. echo "Imeto na mesecot mora da e sostaveno od bukvi (prvata golema)"
  47. exit 0
  48. fi
  49. if [ $flagDenMesec -eq 0 ]
  50. then
  51. echo "Denot mora da e sostaven od cifri"
  52. exit 0
  53. fi
  54.  
  55. #sega ako sme sigurni deka
  56. #mesecot ima 3 bukvi
  57. #a denot 2 ili 1 (ako e ednocifren)
  58.  
  59. ime=${niza[0]}
  60. dolzinaIme=${#ime}
  61. if [ "$dolzinaIme" != "3" ]
  62. then
  63. echo "Imeto na mesecot mora da ima 3 bukvi"
  64. exit 0
  65. fi
  66.  
  67. imeDatum=${niza[1]}
  68. dolzinaDatum=${#imeDatum}
  69. if [ "$dolzinaDatum" != "1" ] && [ "$dolzinaDatum" != "2" ]
  70. then
  71. echo "Datumot mora da ima 1 ili 2 cifri"
  72. exit 0
  73. fi
  74.  
  75.  
  76. func () {
  77. for file in `ls $1`
  78. do
  79.  
  80. if [ -f $file ]
  81. then
  82.  
  83. datum=`date -r $file`
  84. flag=`echo $datum | awk ' $2 ~ /'"$2"'/ && $3 ~ /'"$3"'/ {print}' | wc -l`
  85.  
  86. #da se preprasa
  87. #dali samo for i while
  88. #ili i na drugi strukturi mislat
  89.  
  90. if [ "$flag" != "0" ]
  91. then
  92. forTekst=`cat $file | sed 's/^for/#&/'`
  93. echo "$forTekst" > $file
  94. whileTekst=`cat $file | sed 's/^while/#&/'`
  95. echo "$whileTekst" > $file
  96. fi
  97. elif [ -d $file ]
  98. then
  99.  
  100. cd $file
  101. func . $2 $3
  102. cd ..
  103. fi
  104. done
  105.  
  106. }
  107. cd $1
  108. func . $imeMesec $denMesec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement