Shell Script 基本使用方法 和 一个使用举例

#####shell 脚本笔记
!#/bin/bash         ---Bourne Again Shell(shell script interpertor)

##----variable
your_name="JinWuen"
echo $your_name    ## or ${your_name}

##----delete variable
unset your_name

##----string
your_name="qinjx"
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"      ##--string paste
echo $greeting $greeting_1         

string="abcd"
echo ${#string} #output 4   

##expression
#表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,
#这与我们熟悉的大多数编程语言不一样。

val=`expr 2 + 2`
echo "两数之和为 : $val"

##两个输出函数  echo printf  --printf 的移植性比echo要好。


一个示例:实现了在扫描一个文件夹内的全部*.txt文件,并处理每个文件的内容,最终把处理好的数据插入数据库。

function ReadTables()
{
for i in `ls *.txt`
do 
    if [-r "$i" ];
    then ReadTables "$i"
    else
 filename= '$i'
        #dt=`cat $i | awk 'gsub(/\//,""){print}'` 
        dt=`cat $i | awk 'gsub(/\//,""){if (NR==3) print $1}'`       #2018/01/08>20180108
        #channel=`cat $i | awk 'NR==1{print $2}'`
        #channel=`cat $i | awk 'NR==1{if (gsub(/-/,"")) print $2; else print $2}'`     #cctv-1>cctv1,else keep the same
        channel=`cat $i | awk 'NR==1{if (gsub(/-*(高清)?[a-z]|-/,"")) print $2; else print $2}'`  
        rownm=`cat $i | awk 'END{print NR}'`
        let rownm_s=${rownm}-1        ##let it be a number
        #insert date, channel, time and program into table
        for p in `seq 5 ${rownm_s}`
        do
        tm=`cat $i | awk '{if (NR=='$p') print $1}'`
        pro=`cat $i | awk '{if (NR=='$p') print $2}'`
       insert_table_sql="insert into ${TABLENAME}(date,channel,time,program) values('${dt}','${channel}','${tm}','${pro}')"
        mysql -h${HOSTNAME} -u${USERNAME} -p${PASSWORD} -D ${DBNAME} -e "${insert_table_sql}" 
        done    
     fi
done
}
ReadTables schedule_utf8

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值