校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > linux shell實現轉換輸入日期的格式

linux shell實現轉換輸入日期的格式

熱門標簽:百度地圖標注直線距離 德陽400電話申請 鶴崗400電話申請 天津電話外呼系統排名 測繪地圖標注名稱 怎么在百度地圖標注公司的位置 智能電銷機器人有用嗎 外呼電話系統怎么操作 商機地圖標注

對于用戶輸入日期的合法性檢驗,是個很重要的問題,這個例子是簡單得取得用戶輸入的日期,并轉換為相應的格式,但不完美,原因請看后文。

#!/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) 定義了函數monthnoToName(),用來轉換用戶輸入的數字月份
2)首先判斷參數的個數是否為3個,其次判斷年份,接著是轉換月份格式。
3)if [ -z $(echo $1|sed 's/[[:digit:]]//g') ]; 這句話有點意思,是如果$1被執行sed替換的話,即$1中存在數字
則執行函數monthnoToName(),來轉換數字月份。
4)month="$(echo $1|cut -c1|tr '[:lower:]' '[:upper:]')"
month="$month$(echo $1|cut -c2-3 | tr '[:upper:]' '[:lower:]')"
將輸入的字符月份轉換為標準格式。
5)這個腳本最大的缺陷是雖然將日期的格式轉換了,但不能檢測過濾不存在的日期。

您可能感興趣的文章:
  • PowerShell中使用Get-Date獲取日期時間并格式化輸出的例子
  • Shell腳本遍歷一個日期范圍實例
  • perl與shell獲取昨天、明天或多天前的日期的代碼
  • 獲取兩個日期間隔時間的shell腳本代碼
  • PowerShell中iso8601格式日期和DateTime對象互轉實例
  • 一個shell小案例(創建日期目錄)
  • 判斷輸入的日期是否正確的shell腳本
  • linux shell中 if else以及大于、小于、等于邏輯表達式介紹
  • 一個不錯的shell 腳本教程 入門級
  • 利用shell獲取指定日期前N天的日期

標簽:武漢 自貢 鎮江 丹東 滁州 優質小號 六盤水 百色

巨人網絡通訊聲明:本文標題《linux shell實現轉換輸入日期的格式》,本文關鍵詞  linux,shell,實現,轉換,輸入,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux shell實現轉換輸入日期的格式》相關的同類信息!
  • 本頁收集關于linux shell實現轉換輸入日期的格式的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 万载县| 永兴县| 南宫市| 宜君县| 逊克县| 伊川县| 商丘市| 徐水县| 新龙县| 大田县| 绍兴市| 铁岭市| 雅江县| 出国| 分宜县| 景德镇市| 崇文区| 海林市| 长治县| 井研县| 宣化县| 西和县| 庆安县| 周口市| 平泉县| 涪陵区| 南澳县| 阳春市| 鲁甸县| 长顺县| 广南县| 涞源县| 临城县| 即墨市| 巫溪县| 西乌珠穆沁旗| 来宾市| 棋牌| 海安县| 锦州市| 柘荣县|