#!/bin/bash # # Sebastian Kupny # 2013-02-14 # ############################## GLOBALS ################################# # 0. Predefined parameters # LIST OF FILES # which you want analyse, if you leave its empty, then the # analysis will be done for all of files in given as a parameter # path. MACRO="unpack_kratta_lmd2root.C" COMMAND="root $MACRO -q -l " INPUT_DATA_DIR="/lustre/fopi/asyeos/MAY11/" OUTPUT_DATA_DIR=$PWD FILE_LIST=( au400_1670.lmd au400_1671.lmd au400_1672.lmd au400_1673.lmd ) ############################# WAIT FOR USER ############################### function WaitForUser(){ # Wait for checking by the user input parameters echo "Press [Enter] to continue... or break (press [Ctrl]+[C]) to stop now." read -p "" echo "So we are starting now! " } ############################ MAIN COMMANDS ############################# FILE_LIST_LEN=${#FILE_LIST[@]} # 1. Checking input echo "You launched this program with parameters:" if [ $# -eq 1 ] ; then INPUT_DATA_DIR=$1 echo "OUTPUT_DATA_DIR - default:" elif [ $# -eq 2 ] ; then INPUT_DATA_DIR=$1 OUTPUT_DATA_DIR=$2 else echo "INPUT_DATA_DIR - default" echo "OUTPUT_DATA_DIR - default" fi echo "INPUT_DATA_DIR = $INPUT_DATA_DIR" echo "OUTPUT_DATA_DIR = $OUTPUT_DATA_DIR" echo "File list contain $FILE_LIST_LEN element/s." WaitForUser # 2. Start work echo "[SCRIPT:] Start" # MAIN LOOP. # NOTE! that loops are (and should be) the same. # the code is in both parts, because of the structure of for syntax. # If yo can you can correct that. if [ "${FILE_LIST_LEN} " -eq "0" ]; then echo "List is empty - I'm going to analyse all of files in input directory." FILE_LIST=`ls $INPUT_DATA_DIR` for FILE in $FILE_LIST do PATHFILE=$INPUT_DATA_DIR/$FILE echo "[Script $0:] I'm taking into account a file: $PATHFILE" if [[ -f $PATHFILE ]] then EXTENSION="${FILE##*.}" if [ "$EXTENSION" = "lmd" ]; then NEWFILE="${FILE%.*}_kratta.root" echo "root -l -q $MACRO( $PATHFILE , $OUTPUT_DATA_DIR/$NEWFILE )" root -l -q "$MACRO(\"$PATHFILE\",\"$OUTPUT_DATA_DIR/$NEWFILE\")" else echo "[SCRIPT $0:] File $FILE with extension $EXTENSION is no accepted. Processing:" fi fi done else echo "List is not empty - I'm going to analyse ${FILE_LIST_LEN} element/s" for FILE in "${FILE_LIST[@]}" do PATHFILE=$INPUT_DATA_DIR/$FILE echo "[Script $0:] I'm taking into account a file: $PATHFILE" if [[ -f $PATHFILE ]] then EXTENSION="${FILE##*.}" if [ "$EXTENSION" = "lmd" ]; then NEWFILE="${FILE%.*}_kratta.root" echo "root -l -q $MACRO( $PATHFILE , $OUTPUT_DATA_DIR/$NEWFILE )" root -l -q "$MACRO(\"$PATHFILE\",\"$OUTPUT_DATA_DIR/$NEWFILE\")" else echo "[SCRIPT $0:] File $FILE with extension $EXTENSION is no accepted. Processing:" fi fi done fi # 3. Finish work echo "[SCRIPT $0:] Done. The data should be in directory:" echo $OUTPUT_DATA_DIR ################################ END ###################################