从文件中读取字符串并格式取值的例子

 
#!/bin/sh

if [ $# -eq 2 ]; then
   options=$1
   listobjects=$2
else
   options=hc3-series.options
   listobjects=all
fi

logfile=lte.log
echo options=$options
echo listobjects=$listobjects
echo logfile=${logfile}

dos2unix ${options} &> /dev/zero

# get the options row number 
trac_rows=`sed -n '$=' $options`
# echo trac_rows=$trac_rows
DATA_STAMP=`date +"%G%m%d"`
TIME_STAMP=`date +"%G%m%d_%H%M%S"`

i=1
while [[ $i -le $trac_rows ]]; do
{
	# input option format : -Wo,--*.hwloopcheck:maxsize:{10,100,10}
	option=`sed -n ''$i''p ${options}`
	echo "processing($i/$trac_rows): current option=$option"
	optionname[$i]=${option%:*}
	range[$i]=${option##*:}
	echo optionname[$i]=${optionname[$i]} 
	echo range[$i]=${range[$i]} 
	
	# adjusting format
	range[$i]=`echo ${range[$i]} | sed 's/'{'/\ /g'` # use blank to replace all '{'
	range[$i]=`echo ${range[$i]} | sed 's/'}'/\ /g'` # use blank to replace all '}'
	echo range[$i]=${range[$i]}
	
	start[$i]=`echo ${range[$i]} | awk -F, '{print $1}'`
	end[$i]=`echo ${range[$i]} | awk -F, '{print $2}'`
	step[$i]=`echo ${range[$i]} | awk -F, '{print $3}'`
	echo start[$i]=${start[$i]}
	echo end[$i]=${end[$i]}
	echo step[$i]=${step[$i]}
	
	i=$((i+1))
}
done

你可能感兴趣的:(Date,unix,dos,input,processing)