1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#!/usr/bin/env bash
# Copyright (c) 2010-2018. The SimGrid Team. All rights reserved.
# This program is free software; you can redistribute it and/or modify it
# under the terms of the license (GNU LGPL) which comes with this package.
if [ -z $1 ]
then
echo "Usage: $0 {X.trace}"
exit
fi
TRACE=$1
echo "input: $TRACE"
OUTPUT=$( echo $TRACE | cut -d\. -f1 ).fix.trace
grep ^% < $TRACE > header
DEFEVENTS=$(grep Define < header | awk '{ print $3 }')
GREP=""
GREP2=""
for i in $DEFEVENTS
do
GREP="/^$i /d; $GREP"
GREP2="-e '^$i ' $GREP2"
done
GREP="/^%\ /d; /^% /d; /^%E/d; $GREP"
grep $GREP2 < $TRACE > types
/bin/sed -e "$GREP" $TRACE > events
sort -n -k 2 -s < events > events.sorted
cat header types events.sorted > $OUTPUT
rm types events events.sorted header
echo "output: $OUTPUT"
|