vibora
February 23, 2010, 8:00pm
1
Hi,
Is there a way to simplify the below script? Because I am having problems executing this if I added this to CRON. Also, you may notice that its objective is to put all information in one file (rm1.txt). And in addition file "sRMR_6.txt" to sRMR_23.txt" changes its information everyday. Thanks.
Just add a if condition. If the file "rm1.txt" is there then simply append the output to file else redirect.
if [ -e rm1.txt ]
then
grep "|" sRMR_6.txt >> rm1.txt
grep "|" sRMR_7.txt >> rm1.txt
grep "|" sRMR_8.txt >> rm1.txt
grep "|" sRMR_9.txt >> rm1.txt
grep "|" sRMR_10.txt >> rm1.txt
grep "|" sRMR_11.txt >> rm1.txt
grep "|" sRMR_12.txt >> rm1.txt
grep "|" sRMR_13.txt >> rm1.txt
grep "|" sRMR_14.txt >> rm1.txt
grep "|" sRMR_15.txt >> rm1.txt
grep "|" sRMR_16.txt >> rm1.txt
grep "|" sRMR_17.txt >> rm1.txt
grep "|" sRMR_18.txt >> rm1.txt
grep "|" sRMR_19.txt >> rm1.txt
grep "|" sRMR_20.txt >> rm1.txt
grep "|" sRMR_21.txt >> rm1.txt
grep "|" sRMR_22.txt >> rm1.txt
grep "|" sRMR_23.txt >> rm1.txt
else
grep "|" sRMR_6.txt > rm1.txt
grep "|" sRMR_7.txt >> rm1.txt
grep "|" sRMR_8.txt >> rm1.txt
grep "|" sRMR_9.txt >> rm1.txt
grep "|" sRMR_10.txt >> rm1.txt
grep "|" sRMR_11.txt >> rm1.txt
grep "|" sRMR_12.txt >> rm1.txt
grep "|" sRMR_13.txt >> rm1.txt
grep "|" sRMR_14.txt >> rm1.txt
grep "|" sRMR_15.txt >> rm1.txt
grep "|" sRMR_16.txt >> rm1.txt
grep "|" sRMR_17.txt >> rm1.txt
grep "|" sRMR_18.txt >> rm1.txt
grep "|" sRMR_19.txt >> rm1.txt
grep "|" sRMR_20.txt >> rm1.txt
grep "|" sRMR_21.txt >> rm1.txt
grep "|" sRMR_22.txt >> rm1.txt
grep "|" sRMR_23.txt >> rm1.txt
fi
vibora
February 24, 2010, 8:31pm
3
Thanks! Anyway, does If and Else statement applicable when using VI editor?
daptal
February 24, 2010, 11:57pm
4
since the file names have a specific format you can try this
for((i=6;i<=23;i++));
do
if [-e rm1.txt];
then
grep "|" SRMR_$i.txt >> rm1.txt;
else
grep "|" SRMR_$i.txt > rm1.txt;
fi;
done
and more over when the file does not exist the append mode will simply open the file. so you can even skip the exist check
for((i=6;i<=23;i++));
do
grep "|" SRMR_$i.txt >> rm1.txt
done
HTH,
PL