アフィリエイト広告を利用しています

広告

posted by fanblog

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
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/6242308
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
ファン
検索
<< 2017年05月 >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
月別アーカイブ
プロフィール
日別アーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。