day2 c高级 shell脚本小练习

不得不说shell脚本真是难用啊,很不想学,也不想做作业

但还是做一下

要求是输入三个文件名,保存在数组中

用expr和字符串获得子字符串公式分别来实现,分别打印文件名和后缀

#!bin/bash/

read -p "Please enter 3 file names: " -a arr

echo ${arr[0]%.*} ${arr[0]#*.}
echo ${arr[1]%.*} ${arr[1]#*.}
echo ${arr[2]%.*} ${arr[2]#*.}

len0=`expr length ${arr[0]}`
len1=`expr length ${arr[1]}`
len2=`expr length ${arr[2]}`

leftlen0=`expr index ${arr[0]} .`
leftlen1=`expr index ${arr[1]} .`
leftlen2=`expr index ${arr[2]} .`

leftlen0=$((leftlen0-1))
leftlen1=$((leftlen1-1))
leftlen2=$((leftlen2-1))

rightlen0=$((len0-leftlen0))
rightlen1=$((len1-leftlen1))
rightlen2=$((len2-leftlen2))

left=`expr substr ${arr[0]} 1 $leftlen0`
leftlen0=$((leftlen0+2))
right=`expr substr ${arr[0]} $leftlen0 $rightlen0`
echo $left $right

left=`expr substr ${arr[1]} 1 $leftlen1`
leftlen1=$((leftlen1+2))
right=`expr substr ${arr[1]} $leftlen1 $rightlen1`
echo $left $right

left=`expr substr ${arr[2]} 1 $leftlen2`
leftlen2=$((leftlen2+2))
right=`expr substr ${arr[2]} $leftlen2 $rightlen2`
echo $left $right

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值