Cool Scripts 3:Normalizing Date Formats

2024-02-17 03:48

本文主要是介绍Cool Scripts 3:Normalizing Date Formats,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这个脚本的作用就是将输入的日期进行格式化输出即可。

  1. #!/bin/bash
  2. monthnoToName()
  3. {
  4.         case $1 in
  5.                 1 ) month="Jan" ;;
  6.                 2 ) month="Feb" ;;
  7.                 3 ) month="Mar" ;;
  8.                 4 ) month="Apr" ;;
  9.                 5 ) month="May" ;;
  10.                 6 ) month="Jun" ;;
  11.                 7 ) month="Jul" ;;
  12.                 8 ) month="Aug" ;;
  13.                 9 ) month="Sep" ;;
  14.                 10 ) month="Oct" ;;
  15.                 11 ) month="Nov" ;;
  16.                 12 ) month="Dec" ;;
  17.                 * ) echo "$0:Unknown numberic month value $1" >&2; exit 1
  18.         esac
  19.         return 0
  20. }
  21. if [ $# -eq 1 ] ; then
  22.         set -- $(echo $1 | sed 's/[\\\/\-]/ /g')
  23. fi

  24. if [ $# -ne 3 ] ; then
  25.         echo "Usage: $0 month day year" >&2
  26.         echo "Typical input formats are August 3 1962 and 8 3 2002" >&2
  27.         exit 1
  28. fi

  29. if [ $3 -lt 1000 ] ; then
  30.         echo "$0: expected four-digit year value" >&2
  31.         exit 1
  32. fi

  33. if [ -z $(echo $1 | sed 's/[[:digit:]]//g') ] ; then
  34.         monthnoToName $1
  35. else
  36.         a=${1%${1#?}}
  37.         month="$(echo $a | tr '[:lower:]' '[:upper:]')"
  38. # another way to realize this
  39. # month="$(echo $1 | cut -c1 | tr '[:lower:]' '[:upper:]')"
  40.         month="$month$(echo $1 | cut -c2-3 | tr '[:upper:]' '[:lower:]')"
  41. fi

  42. echo $month $2 $3
  43. exit 0


1.匹配汉字的话,简单可以使用下面的方法:
例如有一个文件sun,里面内容如下,

樊fan
map
8+89*(*(_))我是
importang8729

现在我要找出所有含有汉字的行,处理如下:
[goodryb@152 scripts]$ grep [^\u4E00-\u9FA5] sun
樊fan
8+89*(*(_))我是
[goodryb@152 scripts]$

其中,\un表示匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©),具体可以参考:http://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F

2.$$变量表示当前进程的ID

3.关于函数变量的作用域。
在shell函数中定义的变量默认的是global滴,它的作用域是从函数调用时被定义开始,到shell结束为止,或者显示删除为止。但是shell function的参数变量是local的。
具体的可以参考:http://blog.csdn.net/ltx19860420/article/details/5570902
或者参考:http://leeon.me/a/linux-shell-variable-scope

4.有关tr命令的学习。
tr命令主要用于删除文件中的控制字符,或者进行字符转换。
语法:tr [–c/d/s/t] [SET1] [SET2]
SET1: 字符集1
SET2:字符集2
-c:complement,用SET2替换SET1中没有包含的字符
-d:delete,删除SET1中所有的字符,不转换
-s: squeeze-repeats,压缩SET1中重复的字符
-t: truncate-set1,将SET1用SET2转换,一般缺省为-t
具体可以参考:http://www.2cto.com/os/201109/104590.html

5.如果我们要在在命令行输入"\"字符时,需要这么来输入"\\",这是一个小细节。

6.使用set命令来设置位置参数。
set arguments
在脚本中使用的时候,是这样的set -- arguments,其中的"--"可能是说参数为空吧。
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(732) | 评论(0) | 转发(0) |
0

上一篇:Cool Scripts 2:Validating Alphanumeric Only

下一篇:shell test用法

相关热门文章
  • python 自动化测试平台 Robot ...
  • python 自动化测试平台 Robot ...
  • python snmp 自动化2-在python...
  • 自动化测试详细测试计划 模板...
  • python snmp 自动化3-修改pyth...
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议

这篇关于Cool Scripts 3:Normalizing Date Formats的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716587

相关文章

【JavaSE ⑧】P219 ~ 225 Date类‘’DateFormat类转化Date和字符串;Calendar类获得日历中某值,修改日历,日历转日期

目录 日期时间类1 Date类概述常用方法 2DateFormat类构造方法格式规则常用方法parse方法format方法 3 Calendar类概念获取方式常用方法get/set方法add方法getTime方法 ● 练习1.判断Date不同参数构造的输出2. 用日期时间相关的API,计算一个人已经出生了多少天。3. 获取Calendar对象,输出日历当前年,月,日4. 把日历转换为日期

JavaScripts数组里的对象排序的24个方法

1. 使用 Array.prototype.sort() 这是最基本、也是最常用的方法。sort() 方法会原地修改数组,并返回排序后的数组。你需要传入一个比较函数来定义排序逻辑。 const array = [{ name: 'Alice', age: 25 },{ name: 'Bob', age: 22 },{ name: 'Charlie', age: 30 }];// 按照年龄升序

获取时间戳是使用System.currentTimeMillis()还是使用new Date().getTime()(阿里开发规范)?

1.阿里规范 在阿里的Java开发手册中强制要求使用System.currentTimeMillis() 2.为什么(源码详解) new Date().getTime()它实际上也是调用的System.currentTimeMillis(),源码分析。 这个fastTime是它的成员变量,在new Date()的时候就被赋值了。 扩展一下这个transient这个关键字,它是为了保护

Oracle2-数据类型之to_char to_date 函数

http://www.cnblogs.com/ajian/archive/2009/03/25/1421063.html TO_DATE格式(以时间:2007-11-02   13:45:25为例)             Year:               yy two digits 两位年                显示值:07         yyy three digits

力扣SQL50 每月交易 I 求和 SUM(条件表达式) DATE_FORMAT(日期,指定日期格式)

Problem: 1193. 每月交易 I 👨‍🏫 参考题解 Code select DATE_FORMAT(trans_date, '%Y-%m') AS month,country,count(*) as trans_count,count(if(state = 'approved', 1, NULL)) as approved_count,sum(amount) as

JavaScript各种基础对象:(6)Date对象

目录 1 Date概述 1.1 Date()函数 1.2 new Date()构造函数 1.2.1 new Date(milliseconds) 参数:毫秒数 1.2.2 new Date(datestring) 1.2.3 new Date(year, month [, day, hours, minutes, seconds, ms]) 1.3 日期的运算 2 Date对象的静

Java中date处理

文章目录 1 Date类型1.1 使用Date类代表当前系统时间1.2 使用Date类代表指定的时间(已过时)1.3 获得Date对象中的信息1.4 Date对象和相对时间之间的互转 2 Calendar类2.1 使用Calendar类代表当前时间2.2 使用Calendar类代表指定的时间2.3 获得Calendar类中的信息2.4 其它方法说明2.4.1 add和roll2.4.2 af

JSON转Date的序列化问题之解决方案(Java)

如何将JSON转换为Date类型呢? 直接转换是不能成功的,因为JSON序列化问题,我们得到的不是一个时间戳的格式。 如果在读取一个内容为JSON格式的文件时,内容为{"startDate":"2017/4/22 19:55:17"} 读文件把内容以String的形式存到字符串line里,然后: JSONObject jo = JSONObject. parseObject(lin

Mysql中CURRENT_TIMESTAMP,CURRENT_DATE,CURRENT_TIME,now(),sysdate()各项值的区别

CURRENT_TIMESTAMP,CURRENT_DATE,CURRENT_TIME,now(),sysdate()各项值的区别,我们可以通过在终端下,查看结果就能知道: SELECT CURRENT_TIME, CURRENT_DATE, CURRENT_TIMESTAMP, now(), sysdate(); 比如我们要对某表插入数据,这个表add_time字段是datetime类

Date类实现(c++)

文章目录 前言总体框架Date(int year=1, int month=1, int day=1);~Date();Date(const Date& d);Date& operator=(const Date& d);int getMonthDay(int year, int month);void Print()const;bool operator>(const Date& d)co