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

本文介绍了一段使用Shell脚本进行数据处理的过程,包括文件读取、选项解析、日志记录、数据格式调整及迭代处理等步骤。通过脚本实现对特定数据集的操作,展示了Shell脚本在自动化任务和数据处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
#!/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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值