首页 > 其他 > 详细

字符串截取

时间:2018-02-04 20:47:10      阅读:247      评论:0      收藏:0      [点我收藏+]
输入一个 “month day year”格式的日期串,程序将处理” month”为 其英文单词的前三个字母,第一个字母大写,其余的小写。
思路:首先判断month是数字、还是单词,若是数字,则可查“数字—month”映射表(自定义case结构);若是单词,则取前三个字母,并格式化。
函数monthnoToName() 将month数字转换为month名
#!/bin/bash
monthnoToName(){
case $1 in
1)
month="Jan";;
2)
month="Feb";;
3)
month="Mar";;
4)
month="Apri";;
5)
month="May";;
6)
month="Jun";;
7)
month="Jul";;
8)
month="Aug";;
9)
month="Sep";;
10)
month="Oct";;
11)
month="Nov";;
12)
month="Dec";;
esac
}
if [ $# -ne 3 ];then
echo -n "请输入month day year"
exit 1
fi
#######################判断是否为数字,数字的话调用函数,不是就继续执行
if [ -z $(echo $1 |sed ‘s/[[:digit:]]//‘) ];then ####删除后为空
monthnoToName $1 ###则为数字,调用函数
else
month=$(echo $1 |cut -c1 |tr ‘[:lower:]‘ ‘[:upper:]‘) ####截取第一个字母,把小写改成大写
month=$month$(echo $1 |cut -c2-3 | tr ‘[:upper:]‘ ‘[:lower:]‘) ####截取第二个和第三个字母,把大写改成小写
fi
echo "$month $2 $3"
exit 0

字符串截取

原文:http://blog.51cto.com/13587169/2068691

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!