码迷,mamicode.com
首页 > 其他好文 > 详细

字符串截取

时间:2018-02-04 21:05:00      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:英文单词   第一个   输入   字符串   $#   数字   判断   cas   格式化   

输入一个 “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

字符串截取

标签:英文单词   第一个   输入   字符串   $#   数字   判断   cas   格式化   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!