From bcf1fb7754f46ced745cfdb98310ad7114f1739a Mon Sep 17 00:00:00 2001 From: Peizhao Ou Date: Wed, 1 Jul 2015 16:58:23 -0700 Subject: [PATCH] add a script that automatically replace the wildcards --- replace.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 replace.sh diff --git a/replace.sh b/replace.sh new file mode 100755 index 0000000..be38bd5 --- /dev/null +++ b/replace.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# + +# Get the directory in which this script is located +BINDIR="${0%/*}" + +INPUT=$1 + +DIR=$2 + +if [ -z $DIR ]; then + echo "Usage: `basename $0` [INPUT_FILE] [DIRECTORY_OF_SOURCE]" + exit +fi + +TMP=$BINDIR/tmp + +mkdir -p $TMP + +wildcard=($(awk 'BEGIN {IFS="\t ";} /memory_order/ {print $2;}' $INPUT)) +memory_order=($(awk 'BEGIN {IFS="\t ";} /memory_order/ {print $4;}' $INPUT)) + +for f in $DIR/*; do + echo "Replacing file $f" + newFile="$BINDIR/tmp/output-`basename $f`" + cp $f $newFile + for i in $(seq 0 $((${#wildcard[@]} - 1))) ;do + old="wildcard(${wildcard[$i]})" + new="${memory_order[$i]}" + cmd="sed -i -e 's/$old/$new/g' $newFile" + echo $cmd + bash -c "$cmd" + done + +done + +#awk 'wildcard -- 2.34.1