免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1349 | 回复: 4
打印 上一主题 下一主题

高手帮帮忙,搞了半天没搞定 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-04 20:45 |只看该作者 |倒序浏览
文本内容如下
fafdafdasfadsfsda
BEGIN
0 20060705 13305273036 a 5000 02-JUL-06 1
0 20060702 13305273036 b 5000 02-JUL-06 1
0 20060702 13305273036 b 5000 02-JUL-06 1
THE END
如何取出begin和end间的内容
生成sql语句插入到数据库中,用了sqlldr感觉不是太好用
用awk处理文本也不行
下面是我写的一部分程序
m=`sed -n '/BEGIN/=' $userdata`
n=`sed -n '/END/=' $userdata`
start=$[m+1]
end=$[n]
#echo $start
echo $end

start=$[m+1]
end=$[end]

awk 'NR=$i{ i=$start;while(i<$end) {print $i;i++}}' $userdata

论坛徽章:
0
2 [报告]
发表于 2006-07-05 09:12 |只看该作者
awk 'NR=$i{ i=$start;while(i<$end) {print $i;i++}}' $userdata
好像$start取不到值

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
3 [报告]
发表于 2006-07-05 09:25 |只看该作者
sed -n '/BEGIN/,/END/{/BEGIN/d;/END/d;p}' urfile
awk '/BEGIN/,/END/{if ($0!~/BEGIN/&&$0!~/END/)print}' urfile

论坛徽章:
0
4 [报告]
发表于 2006-07-05 10:48 |只看该作者
3q楼上的两位,有没有办法把这些数据组织成sql语句
如insert into table value(取出的字段),awk的printf我没用过,感觉还是传变量的问题,看了十三篇,遇到这些问题还是一头雾水
伤脑筋啊!^_^

论坛徽章:
0
5 [报告]
发表于 2006-07-05 14:34 |只看该作者
dbtemp='dbtmp.cvs'     #存放返回报表中的有效数据
tmpsql='tmpload.sql'   #存放临时生成的sql语句
awk '/TEXT_BEGIN/,/TEXT_END/{if ($0!~/TEXT_BEGIN/&&$0!~/TEXT_END/)print}' $userdata >$dbtemp

awk '{printf("INSERT INTO report_errord VALUES (\047%s\047, \047%s\047, \047%s\047, \047%s\047, \047%s\047, to_number(\047%s\047), \047%s\047);\n",$6,$1,$2,$3,$4,$5,$7)}' $dbtemp >$tmpsql
###生成sql语句

dbuser=    #定义数据库登陆
sqlplus -s $dbuser<<EOF
@tmpload.sql;
commit;
exit
EOF

rm $dbtemp
rm $tmpsql
谢谢waker的帮忙,已经搞定,顺便把我的程序弄出来给大家一点帮助^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP