Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.30 KB | None | 0 0
  1. # Input variables
  2. project_path=/home/johan/Documents/make_aliases/
  3. project=nn1218
  4.  
  5. # Initiate output file
  6. pwd=`pwd`"/"
  7. out_file="${pwd}aliases.txt"
  8. > $out_file
  9.  
  10. # Get directories in project
  11. dirs=`ls -d */`
  12. trial_dirs=`echo "$dirs" | grep "^${project}-."`
  13. exploratory_dirs=`echo "$dirs" | grep "^exploratory"`
  14.  
  15. # Exploratory directories
  16. for exploratory in $exploratory_dirs
  17. do
  18.     dir=$pwd$exploratory
  19.     cd $dir
  20.    
  21.     instances=`ls -d */`
  22.     non_freeze_instances=`echo "$instances" | grep -v ".*_[0-9]\{8\}"`
  23.  
  24.     for instance in $instances
  25.     do
  26.     #Add full name of instance as alias
  27.     instance_path="${dir}${instance}"
  28.     alias=${instance%/}
  29.     printf "alias %s='cd %s; pwd'\n" $alias $instance_path >> $out_file    
  30.     done         
  31.  
  32.     for instance in $non_freeze_instances
  33.     do
  34.     # Find newest freeze of instance
  35.     last_freeze=`echo "${instances}" | grep "^${instance%/}_[0-9]\{8\}" | tail -n1`
  36.  
  37.     if [ "$last_freeze" != "" ]; then
  38.         instance_path="${dir}${last_freeze}"
  39.         alias="${instance%/}_f"
  40.         printf "alias %s='cd %s; pwd'\n" $alias $instance_path >> $out_file    
  41.     fi
  42.  
  43.     # Find newest er freeze of instance
  44.     # echo ${instance%/}
  45.     last_er_freeze=`echo "${instances}" | grep "^${instance%/}_[0-9]\{8\}_er/$" | tail -n1`
  46.  
  47.     if [ "$last_er_freeze" != "" ]; then
  48.         instance_path="${dir}${last_er_freeze}"
  49.         alias="${instance%/}_er"
  50.         printf "alias %s='cd %s; pwd'\n" $alias $instance_path >> $out_file    
  51.     fi
  52.     done
  53. done           
  54.  
  55. # Trial directories
  56. for trial in $trial_dirs
  57. do
  58.     dir=$pwd$trial
  59.     cd $dir
  60.  
  61.     trial_alias=`echo "$trial" | cut -f2- -d "-" | cut -f1 -d "/"`        
  62.  
  63.     instances=`ls -d */`
  64.  
  65.     for instance in $instances
  66.     do
  67.     if [ "$instance" == "current/" ]; then
  68.         instance_path="${dir}${instance}"
  69.         alias=$trial_alias
  70.         printf "alias %s='cd %s; pwd'\n" $alias $instance_path >> $out_file        
  71.     elif [[ $instance =~ rm ]]; then
  72.         instance_path="${dir}${instance}"
  73.         alias="${trial_alias}_rm"
  74.         printf "alias %s='cd %s; pwd'\n" $alias $instance_path >> $out_file                
  75.     elif [[ $instance =~ ctr ]]; then
  76.         instance_path="${dir}${instance}"
  77.         alias="${trial_alias}_ctr"
  78.         printf "alias %s='cd %s; pwd'\n" $alias $instance_path >> $out_file                
  79.     fi
  80.     done
  81. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement