求助:有关shell编程的问题。

我有一个t2.txt.ok文件,里面的内容就是01|571|210|372B53|460030934603100|0|00133|571|573|20100922|20120922|20110922,这些字段是一个表里的一条记录
我需要用shell ,find这个文件,然后呢,取出第一个字段内容,进行判断,如果是01,就对01后面的字段对一张原表进行插入操作,如果是02,就进行删除操作,该怎么写呢。我不懂shell,请各位能够帮帮我吧,只写01就可以了,关键shell的判断语句也不懂。

第1个回答  2011-09-22
我有两个问题:
1. 就对01后面的字段对一张原表进行插入操作
我理解:是对另外一张表进行插入是吗?插入那个表??在哪个位置插入?插入什么内容?

2. 02就进行删除操作。。
我理解:02|571|210|372B53|4600309346.... 也就是从02 | 开始后边内容全部清空是吗?
第2个回答  2011-09-22
下面的脚本应该能解决你的问题,直接粘上去就能运行的!

#!/bin/sh

FILENAME=t2.txt.ok

while read FILEREC
do
COL1=`echo ${FILEREC} | awk -F"|" '{print $1}'`
TABLEREC=`echo ${FILEREC} | sed -n -e "s/^${COL1}|//p" `
case "${COL1}" in
"01")
echo "Insert Record :[$TABLEREC]"
;;
"02")
echo "Delete Record :[$TABLEREC]"
;;
*)
echo "No Process :[$TABLEREC]"
esac
done < ${FILENAME}本回答被提问者采纳
第3个回答  2011-09-22
#!/bin/bash
while read line #按行读入文件内容
do
f1=`echo "$line"|awk -F\| '{print $1}'` #取出该行的第一个字段
if [ $f1 = "01" ]; then
数据库操作1
elif [ $f1 = "02" ]; then
数据库操作2
fi
done < t2.txt.ok
第5个回答  2011-09-22
那你应该找本入门的书先看下啊,你这样一句一句问得到什么时候
相似回答