タグ

ブックマーク / hycon.hatenadiary.org (2)

  • シェルスクリプトでエポック秒を得る - hyconの日記

    POSIXのシェルユーティリティにはエポック秒を直接出力するコマンドがないので生成する方法を考えます perlを使う POSIX非標準。perlぐらいどの*nixにもインストールされているしこれが普通。 $ perl -e 'print time, "\n"' date(1)でフォーマット指定を使う POSIX非標準。date(1)のフォーマット指定にエポック秒を出力する s があります。これはGNU拡張。 $ date +%s 日付時刻からエポック秒を計算する 全てPOSIXのコマンドだけでやろうとすると多分これしかないです。 エポック秒は次の計算式で算出出来ます。 tm_sec + tm_min*60 + tm_hour*3600 + tm_yday*86400 + (tm_year-70)*31536000 + ((tm_year-69)/4)*86400 - ((tm_year-1

    シェルスクリプトでエポック秒を得る - hyconの日記
  • シェルスクリプトで乱数を扱う - hyconの日記

    シェル組込変数 RANDOM bashやzshなど一部のシェルでは特殊な変数 RANDOM があり、参照する毎に範囲の小さい整数を得ることが出来ます。 $ echo $RANDOM 30940 $ echo $((RANDOM % 100)) 22 jot(1) jot(1)は連番や乱数を出力するプログラムです。出力回数や範囲を指定出来るのでなかなか使い出はあります。deb系では athena-jot パッケージをインストールします。 $ jot -r 1 10 99 72 $ jot -r 10 1000 9999 8881 2834 3537 5889 7430 9962 4905 9548 3575 9762 awk awkの関数 rand() で0–1の範囲の実数の乱数を扱えます。srand() で乱数の初期化することを忘れずに。 $ awk 'BEGIN{srand();prin

    シェルスクリプトで乱数を扱う - hyconの日記
  • 1