shell脚本实战(第2版)/人民邮电出版社 脚本3 规范日期格式

monthnumtoname()
{
  case $1 in
	  1 ) month="Jan"	;;
	  2 ) month="Feb"	;;
	  3 ) month="Mar"	;;
	  4 ) month="Apr"	;;
	  5 ) month="May"	;;
	  6 ) month="Jun"	;;
	  7 ) month="Jul"	;;
	  8 ) month="Aug"	;;
	  9 ) month="Sep"	;;
	  10 ) month="Oct"	;;
	  11 ) month="Nov"	;;
	  12 ) month="Dec"	;;
	  * ) echo "unknown numberic month"
		  exit 1
  esac
  return 0
}

if [ $# -eq 1 ];then
	set -- $(echo $1 | sed 's/[\/\-]/ /g')
fi

if [ $# -ne 3 ];then
	echo "fromat wrong"
	exit 1
fi

if [ $3 -le 99 ];then
	echo "expect 4-digit year value"
	exit 1
fi

if [ -z $(echo $1 | sed 's/[[:digit:]]//g') ];then  #1
	monthnumtoname $1
else
	month="$(echo $1 | cut -c1 | tr '[:lower:]' '[:upper:"]')"  #2
	month="$month$(echo $1 | cut -c2-3 | tr '[:upper:]' '[:lower:]')"  #3
fi
echo $month $2 $3
exit 0

1: shell中的一些特殊符号

2:shell字符转换命令

tr可以用来删除一段信息当中的文字,或者进行文字信息的替换

tr [-ds] SET1 ...
-d:删除信息当中的SET1这个字符;
-s:替换重复的字符

 3:选取命令:cut

cut命令就是将一段信息的某一段切出来,处理的信息是以行为单位

$cut -d'分隔字符' -f fields  #此用法用于有特定的分隔字符
$cut -c字符区间
选项与参数
-d: 后面接分隔字符
-f: 根据-d的分隔字符将一段信息划分成数段,用-f取出第几段的意思
-c:以字符的单位取出固定字符区间

运行结果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值