Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Simplify (and maybe correct) script.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sun, 8 Dec 2019 21:14:30 +0000 (22:14 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sun, 8 Dec 2019 21:31:09 +0000 (22:31 +0100)
tools/fix-paje-trace.sh

index a8e9325..96b2bb1 100755 (executable)
@@ -13,24 +13,22 @@ fi
 
 TRACE=$1
 echo "input: $TRACE"
-OUTPUT=$( echo $TRACE | cut -d\. -f1 ).fix.trace
+OUTPUT=${TRACE%.*}.fix.trace
 
-grep ^% < $TRACE > header
-DEFEVENTS=$(grep Define < header | awk '{ print $3 }')
+grep ^% -- "$TRACE" > header
+DEFEVENTS=( $(awk '/Define/ { print $3 }' header) )
 
-GREP=""
-GREP2=""
-for i in $DEFEVENTS
+GREP=()
+for i in "${DEFEVENTS[@]}"
 do
-  GREP="/^$i /d; $GREP"
-  GREP2="-e '^$i ' $GREP2"
+  GREP+=( -e "^$i " )
 done
-GREP="/^%\ /d; /^%     /d; /^%E/d; $GREP"
+GREP2=( -e $'^%[ \tE]' "${GREP[@]}" )
 
-grep $GREP2 < $TRACE > types
-/bin/sed -e "$GREP" $TRACE > events
+grep "${GREP[@]}" -- "$TRACE" > types
+grep -v "${GREP2[@]}" -- "$TRACE" > events
 sort -n -k 2 -s < events > events.sorted
-cat header types events.sorted > $OUTPUT
-rm types events events.sorted header
+cat header types events.sorted > "$OUTPUT"
+rm -f types events events.sorted header
 
 echo "output: $OUTPUT"