次のコマンドを使用して、30分前にファイルを生成しました。
TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" $HOME/reference
同様に、30分後にファイルを生成するにはどうすればよいですか?
例:午後5時午後5時30分にファイルをタッチしたいと思います。
ベストアンサー1
マイナス記号を追加するだけです。
TZ=ZZZ0 touch -t "$(TZ=ZZZ-0:30 date +%Y%m%d%H%M.%S)" $HOME/reference
または、タイムゾーンのトリックを裏返します。
TZ=ZZZ0:30 touch -t "$(TZ=ZZZ0 date +%Y%m%d%H%M.%S)" $HOME/reference
タイムゾーンオフセット以上を実行する必要がある場合、標準シェルユーティリティは日付を操作する方法が不足しているため悪名高いです。多くの人がBourneシェルで日付計算を実装することを行っているので、1つのオプションはそのうちの1つをダウンロードすることです(ここにいくつかリストされています)。Unixシェルスクリプトの日付操作)。もう一つのオプションはインストールすることですGNUコアツール、特にdate
注文するこれにより組版することができます。次の日付now + 30 minutes
。 Perlなどのより洗練されたスクリプト環境をインストールし、日付操作ライブラリを使用することもできます。