| 1 | #!/bin/sh
 | 
|---|
| 2 | #liste des "sources" enregistrees sous Amas
 | 
|---|
| 3 | GREP=/bin/grep
 | 
|---|
| 4 | AWK=/bin/awk
 | 
|---|
| 5 | ECHO=/bin/echo
 | 
|---|
| 6 | MKDIR=/bin/mkdir
 | 
|---|
| 7 | CAT=/bin/cat
 | 
|---|
| 8 | PRINTF=/usr/bin/printf
 | 
|---|
| 9 | LS=/bin/ls
 | 
|---|
| 10 | RM=/bin/rm
 | 
|---|
| 11 | SORT=/bin/sort
 | 
|---|
| 12 | XARGS=/usr/bin/xargs
 | 
|---|
| 13 | DefaultIFS=$' \t\n'
 | 
|---|
| 14 | IFS=$DefaultIFS
 | 
|---|
| 15 | 
 | 
|---|
| 16 | 
 | 
|---|
| 17 | # Irods environment settings
 | 
|---|
| 18 | . /usr/local/shared/bin/irods_env.sh -noverbose
 | 
|---|
| 19 | 
 | 
|---|
| 20 | scriptName="`basename $0`"
 | 
|---|
| 21 | $ECHO "Processing script ${scriptName} at `date`"
 | 
|---|
| 22 | 
 | 
|---|
| 23 | #Path to public backupable path
 | 
|---|
| 24 | publicpath="/afs/in2p3.fr/home/c/campagne/public"
 | 
|---|
| 25 | 
 | 
|---|
| 26 | 
 | 
|---|
| 27 | #temporary files to synchronize scripts
 | 
|---|
| 28 | tmppublicpath=${TMPPUBLICPATH}
 | 
|---|
| 29 | $LS -l ${tmppublicpath} > /dev/null
 | 
|---|
| 30 | 
 | 
|---|
| 31 | 
 | 
|---|
| 32 | #Path where the job will do temporary IO
 | 
|---|
| 33 | if [ ${ENVIRONMENT} == "INTERACTIVE" ]; then
 | 
|---|
| 34 |     iojobpath="/sps/baoradio/AmasNancay/JEC"
 | 
|---|
| 35 |     $MKDIR -p $iojobpath
 | 
|---|
| 36 | elif [ ${ENVIRONMENT} == "BATCH" ] ; then
 | 
|---|
| 37 |     iojobpath=${TMPBATCH}
 | 
|---|
| 38 | else
 | 
|---|
| 39 |     $ECHO "FATAL (${scriptName}): environment is ${ENVIRONMENT} not allowed"
 | 
|---|
| 40 | #JEC 29/9/11 avoid finished stuff
 | 
|---|
| 41 | #    touch ${tmppublicpath}/statusdaq.finished
 | 
|---|
| 42 |     exit 1
 | 
|---|
| 43 | fi
 | 
|---|
| 44 | cd ${iojobpath}
 | 
|---|
| 45 | 
 | 
|---|
| 46 | 
 | 
|---|
| 47 | OUT1=./baoils.$$
 | 
|---|
| 48 | ils /baoradio/data/AmasNancay/ > ${OUT1}
 | 
|---|
| 49 | OUT2=./baoawk1.$$
 | 
|---|
| 50 | $AWK '($1=="C-") {print $2}' ${OUT1} > ${OUT2}
 | 
|---|
| 51 | $RM $OUT1
 | 
|---|
| 52 | 
 | 
|---|
| 53 | #Sequence 
 | 
|---|
| 54 | tableau=( `$CAT $OUT2 | $AWK '{print $1}'` )
 | 
|---|
| 55 | IFS='
 | 
|---|
| 56 | '
 | 
|---|
| 57 | tableau=( $( $PRINTF "%s\n" "${tableau[@]}" | $AWK 'x[$0]++ == 0' ) )
 | 
|---|
| 58 | IFS=$DefaultIFS
 | 
|---|
| 59 | 
 | 
|---|
| 60 | $RM $OUT2
 | 
|---|
| 61 | 
 | 
|---|
| 62 | for i in ${tableau[@]}
 | 
|---|
| 63 | do
 | 
|---|
| 64 |   $ECHO "source $i"
 | 
|---|
| 65 |   listedate=( `ils $i | $AWK '($1=="C-"){print $2}'`)
 | 
|---|
| 66 |   IFS='
 | 
|---|
| 67 | '
 | 
|---|
| 68 |   listedate=( $( $PRINTF "%s\n" "${listedate[@]}" | $AWK 'x[$0]++ == 0' ) )
 | 
|---|
| 69 |   IFS=$DefaultIFS
 | 
|---|
| 70 | 
 | 
|---|
| 71 |   ntotfiles=0
 | 
|---|
| 72 |   for j in ${listedate[@]}
 | 
|---|
| 73 |   do
 | 
|---|
| 74 | #Nb: care should be taken to the possible instances of a file returned by ILS
 | 
|---|
| 75 |     listOfsig=( `ils ${j}/Fiber1 | $GREP -i "signal" | $XARGS -i basename {} | $SORT -k1.7n` )
 | 
|---|
| 76 |     IFS='
 | 
|---|
| 77 |   '
 | 
|---|
| 78 |     listOfsig=( $( $PRINTF "%s\n" "${listOfsig[@]}" | $AWK 'x[$0]++ == 0' ) )
 | 
|---|
| 79 |     IFS=$DefaultIFS
 | 
|---|
| 80 |     nfiles=${#listOfsig[@]}
 | 
|---|
| 81 |     $ECHO ">>> $j ---> $nfiles"
 | 
|---|
| 82 |     let "ntotfiles=ntotfiles+nfiles"
 | 
|---|
| 83 |   done 
 | 
|---|
| 84 |   $ECHO "total files = $ntotfiles"
 | 
|---|
| 85 | 
 | 
|---|
| 86 | done
 | 
|---|
| 87 | 
 | 
|---|
| 88 | #JEC 29/9/11 avoid finished stuff
 | 
|---|
| 89 | #touch ${tmppublicpath}/statusdaq.finished
 | 
|---|
| 90 | exit 0
 | 
|---|