2017年05月07日
久々のC言語1と同じのをシェルで実装してみると・・・
#====================================================================================
# ファイル名:calender_chk.sh
# 概要 :calenderファイルに従い、元号(年号/和暦)コードから元号文字を取得する
#
# カレンダーファイル
# H,h,4,1989/1/8
# S,s,3,1926/12/25
# T,t,2,1912/7/30
# M,m,1,1868/9/8
#
# パラメータ:
# P1:年号コード
#====================================================================================
key_length=1
#---------------------------------------
#メイン処理ここから
#---------------------------------------
echo "calenderファイルに従い、年号コードから年号文字を取得する"
#---------------------------------------
#パラメータチェック
#---------------------------------------
#入力されたかチェック
if [ $# -eq 0 ]
then
echo "P1が指定されていません。"
return 1
fi
nengou_code=$1
#文字数チェック
if [ ${#nengou_code} -ne $key_length ]
then
echo "P1が1文字ではありません。"
return 1
fi
#数字かチェック
#P2に+1をし、その戻り値をRETに保存
expr $nengou_code + 1 > /dev/null 2>&1
ret=$?
#戻り値を使って正常か異常かを判断
if [ ! $ret -lt 2 ]
then
echo "P1が数字ではありません。"
return 1
fi
#---------------------------------------
#
#---------------------------------------
#リストが存在するかチェック
if [ ! -e calender.txt ]; then
#リストなし
echo "カレンダーファイルがありません。"
return 1
fi
#リストあり
#リスト内に同一元号コードが存在するかチェック
for line in `cat calender.txt`
do
colmun1=`echo ${line} | cut -d ',' -f 1`
colmun2=`echo ${line} | cut -d ',' -f 2`
colmun3=`echo ${line} | cut -d ',' -f 3`
colmun4=`echo ${line} | cut -d ',' -f 4`
echo "項目1:${colmun1}"
echo "項目2:${colmun2}"
echo "項目3:${colmun3}"
echo "項目4:${colmun4}"
echo "行終了"
if [ $colmun3 = $nengou_code ]
then
echo "ヒットです。"
echo "項目2:${colmun2}"
return 0
fi
done
#異常終了
echo "ノーヒットです。"
return 1
# ファイル名:calender_chk.sh
# 概要 :calenderファイルに従い、元号(年号/和暦)コードから元号文字を取得する
#
# カレンダーファイル
# H,h,4,1989/1/8
# S,s,3,1926/12/25
# T,t,2,1912/7/30
# M,m,1,1868/9/8
#
# パラメータ:
# P1:年号コード
#====================================================================================
key_length=1
#---------------------------------------
#メイン処理ここから
#---------------------------------------
echo "calenderファイルに従い、年号コードから年号文字を取得する"
#---------------------------------------
#パラメータチェック
#---------------------------------------
#入力されたかチェック
if [ $# -eq 0 ]
then
echo "P1が指定されていません。"
return 1
fi
nengou_code=$1
#文字数チェック
if [ ${#nengou_code} -ne $key_length ]
then
echo "P1が1文字ではありません。"
return 1
fi
#数字かチェック
#P2に+1をし、その戻り値をRETに保存
expr $nengou_code + 1 > /dev/null 2>&1
ret=$?
#戻り値を使って正常か異常かを判断
if [ ! $ret -lt 2 ]
then
echo "P1が数字ではありません。"
return 1
fi
#---------------------------------------
#
#---------------------------------------
#リストが存在するかチェック
if [ ! -e calender.txt ]; then
#リストなし
echo "カレンダーファイルがありません。"
return 1
fi
#リストあり
#リスト内に同一元号コードが存在するかチェック
for line in `cat calender.txt`
do
colmun1=`echo ${line} | cut -d ',' -f 1`
colmun2=`echo ${line} | cut -d ',' -f 2`
colmun3=`echo ${line} | cut -d ',' -f 3`
colmun4=`echo ${line} | cut -d ',' -f 4`
echo "項目1:${colmun1}"
echo "項目2:${colmun2}"
echo "項目3:${colmun3}"
echo "項目4:${colmun4}"
echo "行終了"
if [ $colmun3 = $nengou_code ]
then
echo "ヒットです。"
echo "項目2:${colmun2}"
return 0
fi
done
#異常終了
echo "ノーヒットです。"
return 1
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6242308
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック