Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.25 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. maxDepth=4
  4. garbagedir="output"
  5.  
  6. expr=(".jpg" ".png" ".doc" ".xls" ".html" ".sh" ".pdf" ".php" ".txt" ".lib" ".dll")
  7.  
  8. function randNumber(){
  9.    
  10.     if [ ! "$1" ]; then
  11.         min=1
  12.     else
  13.         min=$1
  14.     fi
  15.    
  16.     if [ ! "$2" ]; then
  17.         max=25
  18.     else
  19.         max=$2
  20.     fi
  21.    
  22.     local myresult=`shuf -i $min-$max -n 1`
  23.     echo "$myresult"
  24. }
  25.  
  26. function randString(){
  27.     local myresult=`echo $RANDOM | md5sum | awk '{print $1}'`
  28.     echo "${myresult:5:5}"
  29. }
  30.  
  31. function fillFile(){
  32.     local myresult=$(randString)
  33.     for i in $(seq 1 $(randNumber 7 20))
  34.     do
  35.         myresult="$myresult"$(randString)
  36.     done
  37.    
  38.     echo "$myresult"
  39. }
  40.  
  41. function filldir(){
  42.     local basedir="$1"
  43.     local depth="$2"
  44.  
  45.     #Generate dirs
  46.     for i in $(seq 1 $(randNumber))
  47.     do
  48.  
  49.         #Generate files in directory
  50.         for i in $(seq 1 $(randNumber 7 20))
  51.         do
  52.             expr_index=$(randNumber 1 ${#expr[@]})
  53.             expr_index=$[expr_index-1]
  54.             echo $(fillFile) > "$basedir/"$(randString)"${expr[$expr_index]}"
  55.         done
  56.        
  57.         #If loop reach  limit
  58.         if [ "$depth" == "$maxDepth" ]; then
  59.             return
  60.         else
  61.             local dir="$basedir/"$(randString)
  62.             mkdir "$dir"
  63.            
  64.             depth=$[depth+1]
  65.        
  66.             echo "$depth:$dir"
  67.  
  68.             filldir "$dir" "$depth"
  69.         fi
  70.     done
  71. }
  72.  
  73. mkdir "$garbagedir"
  74. filldir "$garbagedir" 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement