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

你可能感兴趣的:(c语言,linux,开发语言)