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

広告

posted by fanblog

2017年05月07日

キー番号の競合チェックが必要になったためシェルで。。 ・同一キー番号がリストにないかチェックし、なければリストに追加 ・同一キー番号がリストにないかチェックし、あればリストから削除

#================================================================
# ファイル名:kyougou_keyadd.sh
# 概要 :同一キー番号がリストにないかチェックし、なければリストに追加
# パラメータ:
# P1:キー番号
#================================================================

key_length=5

#---------------------------------------
#メイン処理ここから
#---------------------------------------

echo "同一キー番号がリストにないかチェックし、なければリストに追加します"

#---------------------------------------
#パラメータチェック
#---------------------------------------

#入力されたかチェック
if [ $# -eq 0 ]
then
echo "P1が指定されていません。"
return 1
fi

inputkey=$1

#文字数チェック
if [ ${#inputkey} -ne $key_length ]
then
echo "P1が5文字ではありません。"
return 1
fi

#数字かチェック

#P2に+1をし、その戻り値をRETに保存
expr $inputkey + 1 > /dev/null 2>&1
ret=$?

#戻り値を使って正常か異常かを判断
if [ ! $ret -lt 2 ]
then
echo "P1が数字ではありません。"
return 1
fi

#リストが存在するかチェック
if [ ! -e keychk_list ]; then
#リストなし
#リストにキー番号を追加
echo $inputkey >> keychk_list
echo "正常終了しました。"
return 0
fi

#リストあり
#リスト内に同一キー番号が存在するかチェック
if cat keychk_list | grep -q $inputkey
then
#同一キー番号あり
echo "$inputkey は既に登録されています。"
return 0
fi

#同一キー番号なし
#リストにキー番号を追加
echo $inputkey >> keychk_list
echo "正常終了しました。"

#正常終了
return 0



#================================================================
# ファイル名:kyougou_keydel.sh
# 概要 :同一キー番号がリストにないかチェックし、あればリストから削除
# パラメータ:
# P1:キー番号
#================================================================

key_length=5

#---------------------------------------
#メイン処理ここから
#---------------------------------------

echo "同一キー番号がリストにないかチェックし、あればリストから削除します"

#---------------------------------------
#パラメータチェック
#---------------------------------------

#入力されたかチェック
if [ $# -eq 0 ]
then
echo "P1が指定されていません。"
return 1
fi

inputkey=$1

#文字数チェック
if [ ${#inputkey} -ne $key_length ]
then
echo "P1が5文字ではありません。"
return 1
fi

#数字かチェック

#P2に+1をし、その戻り値をRETに保存
expr $inputkey + 1 > /dev/null 2>&1
ret=$?

#戻り値を使って正常か異常かを判断
if [ ! $ret -lt 2 ]
then
echo "P1が数字ではありません。"
return 1
fi

#リストが存在するかチェック
if [ ! -e keychk_list ]; then
#リストなし
echo "正常終了しました。"
return 0
fi

#リストあり
#リスト内に同一キー番号が存在するかチェック
if cat keychk_list | grep -q $inputkey
then
#同一キー番号あり
echo "削除対象あり。"
#cat keychk_list | sed -e "s/$inputkey//"
sed -i -e "/$inputkey/d" keychk_list
return 0
fi

#同一キー番号なし
echo "正常終了しました。"

#正常終了
return 0
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

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

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

この記事へのトラックバック
ファン
検索
<< 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日以上新しい記事の更新がないブログに表示されております。