Question: Using the following shell script, modify the code so that whenever the stock has a positive or negative change, the color changes from green (positive)
Using the following shell script, modify the code so that whenever the stock has a positive or negative change, the color changes from green (positive) to red (negative)
clear
while true do wget -qO- http://finance.yahoo.com/d/quotes.csv?s=CAT\&f=nl1c1v >data1 wget -qO- http://finance.yahoo.com/d/quotes.csv?s=NKE\&f=nl1c1v >data2 wget -qO- http://finance.yahoo.com/d/quotes.csv?s=DYN\&f=nl1c1v >data3 wget -qO- http://finance.yahoo.com/d/quotes.csv?s=AAPL\&f=nl1c1v >data4
cat data1 | sed s/", "/" "/g >data1new mv data1new data1
cat data2 | sed s/", "/" "/g >data2new mv data2new data2 cat data3 | sed s/", "/" "/g >data3new mv data3new data3
cat data4 | sed s/", "/" "/g >data4new mv data4new data4
change=`cat data1 | cat data2 | cat data3 | cat data4 | awk -F, '{print $3}' negative=`echo $change | grep "-" | wc -l` positive=`echo $change | grep "+" | wc -l`
if [ $negative -eq 1 ] then # # 1 = red, 0 = black # tput setab 1; tput setaf 0; else if [ $positive -eq 1 ] then # # 2 = green, 0 = black # tput setab 2; tput setaf 0; fi fi
for row in 1 do for colm in 10 do tput cup $row $colm tput cup 1 13; echo " " tput cup 1 10; echo " CAT" done done
for row in 2 do for colm in 10 do name=`cat data1 | awk -F, '{printf "%-17.17s", $1}'` tput cup 2 10; echo " " tput cup 2 10; echo "$name" done done
for row in 3 do for colm in 10 do price=`cat data1 | awk -F, '{print $2}'` tput cup $row $colm tput cup 3 13; echo " " tput cup 3 10; echo "$price" done done
for row in 4 do for colm in 10 do change=`cat data1 | awk -F, '{print $3}'` tput cup $row $colm tput cup 4 13; echo " " tput cup 4 10; echo "$change" done done
for row in 5 do for colm in 10 do volume=`cat data1 | awk -F, '{print $4}'` tput cup $row $colm tput cup 5 13; echo " " tput cup 5 10; echo "$volume" done done
for row in 1 do for colm in 30 do tput cup $row $colm #tput cup 6 13; tput cup 1 33; echo " " #tput cup 6 10; tput cup 1 30; echo " NKE" done done for row in 2 do for colm in 30 do name=`cat data2 | awk -F, '{printf "%-17.17s", $1}'` tput cup $row $colm #tput cup 2 13; echo " " tput cup 2 30; echo "$name" done done
for row in 3 do for colm in 30 do price=`cat data2 | awk -F, '{print $2}'` tput cup $row $colm tput cup 3 33; echo " " tput cup 3 30; echo "$price" done done
for row in 4 do for colm in 30 do change=`cat data2 | awk -F, '{print $3}'` tput cup $row $colm tput cup 4 33; echo " " tput cup 4 30; echo "$change" done done
for row in 5 do for colm in 30 do volume=`cat data2 | awk -F, '{print $4}'` tput cup $row $colm tput cup 5 33; echo " " tput cup 5 30; echo "$volume" done done
for row in 10 do for colm in 10 do tput cup $row $colm #tput cup 6 13; tput cup 10 13; echo " " #tput cup 6 10; tput cup 10 10; echo " DYN" done done
for row in 11 do for colm in 10 do name=`cat data3 | awk -F, '{printf "%-17.17s", $1}'` tput cup $row $colm #tput cup 11 13; echo " " tput cup 11 10;
echo "$name" done done
for row in 12 do for colm in 10 do price=`cat data3 | awk -F, '{print $2}'` tput cup $row $colm tput cup 12 13; echo " " tput cup 12 10; echo "$price" done done
for row in 13 do for colm in 10 do change=`cat data3 | awk -F, '{print $3}'` tput cup $row $colm tput cup 13 13; echo " " tput cup 13 10; echo "$change" done done
for row in 14 do for colm in 10 do volume=`cat data3 | awk -F, '{print $4}'` tput cup $row $colm tput cup 14 13; echo " " tput cup 14 10; echo "$volume" done done
for row in 10 do for colm in 30 do tput cup $row $colm #tput cup 6 13; tput cup 10 33; echo " " #tput cup 6 10; tput cup 10 30; echo " AAPL" done done
for row in 11 do for colm in 30 do name=`cat data4 | awk -F, '{printf "%-17.17s", $1}'` tput cup $row $colm #tput cup 2 13; echo " " tput cup 11 30; echo "$name" done done
for row in 12 do for colm in 30 do price=`cat data4 | awk -F, '{print $2}'` tput cup $row $colm tput cup 12 33; echo " " tput cup 12 30; echo "$price" done done
for row in 13 do for colm in 30 do change=`cat data4 | awk -F, '{print $3}'` tput cup $row $colm tput cup 13 33; echo " " tput cup 13 30; echo "$change" done done
for row in 14 do for colm in 30 do volume=`cat data4 | awk -F, '{print $4}'` tput cup $row $colm tput cup 14 33; echo " " tput cup 14 30; echo "$volume" done done
sleep 2 done
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
