Yura YuLife

ITエンジニアの覚え書き。

shellscript

シェルスクリプトで日付が有効かをチェックし、開始・終了日間でループする

シェルスクリプトで、特定の日付間のログのみを抽出する等の処理をする際に、日付でループするコードの例です。 サンプルコード loop_date.sh #!/bin/bash # 有効な日付ではない場合は終了する関数 function check_date() { date -d "$1" || exit 1 return 0…

シェルスクリプトで正規表現マッチ

シェルスクリプトで引数による条件分岐をする際にif文の列挙やcase文を利用する場合は多々あると思いますが、 単純に引数のチェックのみを行いたいときはbashの正規表現マッチで調べるのが簡単です。 bashでの正規表現マッチ 例えば、第一引数が正規表現^h.+…

xargsで超簡単に並列処理ができるという衝撃

あるフォルダ内の画像をImageMagickで切り抜いて別のフォルダに保存するシェルスクリプトを動かしていたのですが、何万枚という画像を処理すると結構計算時間がかかります。 シェルスクリプトで簡単に並列処理できないかなーと思ったら、xargsで超簡単に並列…

shell checkでexpr is antiquated.というエラーがでる

シェルスクリプト内で変数をインクリメントしようとして以下の様なコードを書きました。 COUNT=$(expr ${COUNT} + 1) すると、shell checkで以下のようなワーニングが表示されます。 expr is antiquated. Consider rewriting this using $((..)), ${} or [[]…