[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: some problem in scripting.



L.V.Gandhi wrote:
I created a .csv file in this format from a original file from the net. The last field here is the last field in original file also. I made this file as original file has empty lines and single field lines also.
SYMBOL,HIGH_PRICE,LOW_PRICE,HI_52_WK,LO_52_WK
BHARTIARTL,809.00,790.00,882.05,307.30
BHEL,1327.00,1301.00,2918.65,1301.00
I am using this script to find high/low
#!/bin/bash
rm -f highs
rm -f lows
touch lows
for line in $(cat temp.csv)
do
low52=$(echo $line|cut -d, -f5)
high52=$(echo $line|cut -d, -f4)
low=$(echo $line|cut -d, -f3)
high=$(echo $line|cut -d, -f2)
stock=$(echo $line|cut -d, -f1)

I would suggest replacing this parsing with something simpler.
For example, to print the symbol followed by the {HI,LO}_52_WK
for each line in the file, you can do something as simple as:
#!/bin/bash

IFS=,
while read SYMBOL HIGH_PRICE LOW_PRICE HI_52_WK LO_52_WK
do
echo $SYMBOL: $HI_52_WK: $LO_52_WK
done < temp.csv

Simplifying the parsing might solve the problem.



Reply to: