昨日の続き。 もう、プログラムの最後にこれ入れれば良いんじゃね、ってなった。 echo "Time[$(expr $SECONDS / 3600):$(expr $SECONDS / 60):$(expr $SECONDS % 60)]" 秒だけだすと長時間の場合見づらいので、整形。 ...
もっと読む
カテゴリ: bash
bashでプログラム実行経過時間を表示したい
bashでプログラム実行経過時間を表示したい 最初、dateコマンドで開始時間を取っておいて、引き算してー と考えていましたが、ふと調べてみたら、そのものずばりがありました。 $SECONDS わお、これこのまま表示すれば、実行からの経過時間を簡単に出力したり、 ...
もっと読む
bashでのif文一覧
bashでのif文一覧 色々な言語やっていると、どうなんだっけ?ってなるので一覧化。 bashのif文 意味 {num1} -eq {num2} num1 と num2 が等価の時に真を返します。num1 == num2 {num1} -ne {num2} num1 と num2 が等価でないときに真を返します。num1 != num2 {n ...
もっと読む
bashの変数で年月日を分けてみる
変数を指定するときに、:で開始や文字数を指定出来る。 これを使って、「YYYYMMDD」のファイルを「YYYY年MM月DD日」に変更する。 あくまで文字列操作だけなので、月、日のゼロは埋まっているものとする。 TGT_DATE=20160102 echo "${TGT_DATE:0:4}年${TGT_DATE:4:2}月$ ...
もっと読む
bash で内部コマンド実行時に引数を使いたい時とか
bashでdateコマンドを使うとき、 変数などでデータを渡したりした時に値が上手く渡らない場合がある。 `コマンド` $(コマンド) 上記のようにコマンドを実行するとき、シングルコーテーションを使いたいのに 邪魔をするなど。 そう言う場合は、evalコマンドを使用 ...
もっと読む
bash の変数で、2項目以降で+とかカンマとか入れたい場合
たまに期間でループして、それらを足したいと言う時に、 a.xxx_1 + a.xxx_2 + a.xxx_3 ... みたいなデータを作りたい時、_2以降の頭には+を付けたい、と言う形になります。 こういう時は、bash の変数で ${変数名:+デフォルト} → 値が定義済みの場合、デフォルト ...
もっと読む
改行をカンマ区切りに変える
改行ありファイルのデータをカンマ区切りにする。 最後に改行がある場合はカンマにしない。 という状況のものを、bashで実現。 DATA=$(cat $DATA_FILE | perl -pe 's/\n/,/g') if [ "${DATA: -1} = "," ]; then DATA=${DATA/%?/} fi 最後の1文字の指定の-1 の前に半角 ...
もっと読む
bashでファイル名から拡張子を取る
取得したファイル名を流用するときに拡張子が 要らない、という時に使う。 OUT_NAME=$(basename ${GET_FILE%.*}) basenameでフォルダ情報を取り除き、%.* で拡 張子を除外。 ...
もっと読む
bashでシングルコーテーション置換
bashの変数の置換でシングルコーテーションを 消そうと思ったら上手くいかなかった。 制御文字の問題のようなので、sedで対応。 DATA2=$("echo $DATA | sed -e "s/'//g")" ...
もっと読む
bash変数指定で2個目以降全て
Bashの変数指定で、全て指定は $@ 途中から全て指定は、 ${@:2} とかやると、2個目以降全て列挙になる ...
もっと読む