文本处理的一个小思路

1710阅读 0评论2013-12-19 joepayne
分类:数据库开发技术

# data records are separated by newline symbol,filds are separated by comma symbol
# take it as a entire string 
# put it into a array
arr=(`echo -e "name=joe,id=5\nname=jack,id=7\nname=ben,id=10"`)
echo "records contents: ${arr[@]}"
echo "records number: ${#arr[@]}"
for i in ${arr[@]}
do
        i=`echo "$i" | sed 's/,/ /g'`
        eval "$i"
        echo "name=\"$name\" id=\"$id\""
done

大概思路是这样的:
1. 把数据导出来放到一个串里,记录之间用换行符隔开
2. 然后再放到一个数组里(数组里的分隔符是空格、TAB、换行,所以记录内的字符可能得做些相关处理)
3. 逐一取出记录,并通过eval来执行记录内字段的赋值操作(eval 以空格和TAB为分隔符),再做处理
上一篇:关于覆盖索引
下一篇:local 与 eval 在执行字符串方面之间的一点小区别