欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux shell實(shí)現(xiàn)轉(zhuǎn)換輸入日期的格式

 更新時(shí)間:2016年08月14日 11:33:26   投稿:mdxy-dxy  
對(duì)于用戶輸入日期的合法性檢驗(yàn),是個(gè)很重要的問(wèn)題,這個(gè)例子是簡(jiǎn)單得取得用戶輸入的日期,并轉(zhuǎn)換為相應(yīng)的格式,但不完美,原因請(qǐng)看后文

對(duì)于用戶輸入日期的合法性檢驗(yàn),是個(gè)很重要的問(wèn)題,這個(gè)例子是簡(jiǎn)單得取得用戶輸入的日期,并轉(zhuǎn)換為相應(yīng)的格式,但不完美,原因請(qǐng)看后文。

#!/bin/sh
# normdate -- Normalizes month field in date specification
# to three letters, first letter capitalized. A helper
# function for Script #7, valid-date. Exits w/ zero if no error.

monthnoToName()
{
 # Sets the variable 'month' to the appropriate value
 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 "$0: Unknown numeric month value $1" >&2; exit 1
  esac
  return 0
}

## Begin main script

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

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

if [ -z $(echo $1|sed 's/[[:digit:]]//g') ]; then
 monthnoToName $1
else
 # Normalize to first three letters, first upper, rest lowercase
 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

腳本分析:
1) 定義了函數(shù)monthnoToName(),用來(lái)轉(zhuǎn)換用戶輸入的數(shù)字月份
2)首先判斷參數(shù)的個(gè)數(shù)是否為3個(gè),其次判斷年份,接著是轉(zhuǎn)換月份格式。
3)if [ -z $(echo $1|sed 's/[[:digit:]]//g') ]; 這句話有點(diǎn)意思,是如果$1被執(zhí)行sed替換的話,即$1中存在數(shù)字
則執(zhí)行函數(shù)monthnoToName(),來(lái)轉(zhuǎn)換數(shù)字月份。
4)month="$(echo $1|cut -c1|tr '[:lower:]' '[:upper:]')"
month="$month$(echo $1|cut -c2-3 | tr '[:upper:]' '[:lower:]')"
將輸入的字符月份轉(zhuǎn)換為標(biāo)準(zhǔn)格式。
5)這個(gè)腳本最大的缺陷是雖然將日期的格式轉(zhuǎn)換了,但不能檢測(cè)過(guò)濾不存在的日期。

相關(guān)文章

  • git revert和git reset的區(qū)別詳解

    git revert和git reset的區(qū)別詳解

    這篇文章主要介紹了git revert和git reset的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Linux Shell 截取字符串的方法示例

    Linux Shell 截取字符串的方法示例

    這篇文章主要介紹了Linux Shell 截取字符串的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Shell命令解釋器分類示例詳解

    Shell命令解釋器分類示例詳解

    Shell是負(fù)責(zé)User與Linux OS之間溝通的橋梁,Shell為用戶提供了一個(gè)操作界面,User在這個(gè)界面輸入指令,其實(shí)就是通過(guò)Shell向Linux Kernel傳遞過(guò)去,這也就是為什么Shell也叫解釋器的原因,這篇文章主要給大家介紹了關(guān)于Shell命令解釋器分類的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Linux下使用tcpdump抓包的實(shí)現(xiàn)方法

    Linux下使用tcpdump抓包的實(shí)現(xiàn)方法

    tcpdump是Linux下面的一個(gè)開(kāi)源的抓包工具,和Windows下面的wireshark抓包工具一樣, 支持抓取指定網(wǎng)口、指定目的地址、指定源地址、指定端口、指定協(xié)議的數(shù)據(jù)。這篇文章主要介紹了Linux下使用tcpdump抓包的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2015-10-10
  • 探究正常運(yùn)行的shell腳本為啥有時(shí)會(huì)報(bào)錯(cuò)

    探究正常運(yùn)行的shell腳本為啥有時(shí)會(huì)報(bào)錯(cuò)

    正常運(yùn)行的shell腳本為啥有時(shí)會(huì)報(bào)錯(cuò)呢,這篇文章主要就是來(lái)和大家探索一下報(bào)錯(cuò)的原因以及解決方法,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-08-08
  • 從apnic提取ip信息腳本分享

    從apnic提取ip信息腳本分享

    這篇文章主要介紹了從apnic提取ip信息的腳本,需要的朋友可以參考下
    2014-03-03
  • Shell獲取進(jìn)程PID的實(shí)現(xiàn)

    Shell獲取進(jìn)程PID的實(shí)現(xiàn)

    本文主要介紹了Shell獲取進(jìn)程PID的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 快速入門Shell腳本之條件判斷語(yǔ)句與循環(huán)

    快速入門Shell腳本之條件判斷語(yǔ)句與循環(huán)

    這篇文章主要介紹了快速入門Shell腳本之條件判斷語(yǔ)句與循環(huán),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • linux?shell?編程之函數(shù)使用詳解

    linux?shell?編程之函數(shù)使用詳解

    使用linux的shell編程,可以說(shuō)函數(shù)是非常重要的內(nèi)容,也是在編寫各類shell腳本的時(shí)候經(jīng)常用到的,這篇文章主要介紹了linux?shell?編程之函數(shù)使用,需要的朋友可以參考下
    2022-10-10
  • rm -rf之后磁盤空間沒(méi)有釋放的解決方法

    rm -rf之后磁盤空間沒(méi)有釋放的解決方法

    本文主要介紹了rm -rf之后磁盤空間沒(méi)有釋放的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評(píng)論