GNU coreutils(8.6) バージョンがstat
変更されましたか?最近の更新後、呼び出し統計が期待どおりに機能しない一部のスクリプトが特に使用されていますstat -c %Y "${filename}"
。これは、「Epoch」以降の最後の修正時間を秒単位で返すようになっています。しかし、私はそれが完全な整数の形をとったと誓うことができました。ただし、1287630625.956667227
代わりにその形式から始めます1287630625
。 Bashは浮動小数点演算を処理できないため、これは少し迷惑です。意図的な変化ですか?それともバグですか?それとも私の記憶がぼやけているのでしょうか?これに関する情報を検索してみましたが、見つかりませんでした。
答え1
stat:フル解像度でタイムスタンプを印刷します。coreutils-8.6で作業しています。
$子クローン git://git.savannah.gnu.org/coreutils.git $CDコアユーティリティ $ git log -1 --grep=time--src/stat.c 9069af45e691d1252c727da66aa4f3f3c7f1ea29送信 著者:エリックブレイク 日付:2010年9月30日木曜日16:42:13 -0600 stat:フル解像度でタイムスタンプを印刷します。 * src/stat.c(epoch_time):新機能。 (print_stat):%[WXYZ]に使用します。 *ニュース:これを文書化してください。 *テスト/タッチ/ 60秒:テストに合わせて調整します。 *テスト/その他/統計出生時間:同様に。 $ git 説明 --9069af4 を含む v8.6~29
答え2
これは不要な破壊であり、coreutils
≥に戻ります8.7
。
その時点から%.Y
少数の部分を取得するには、等を指定する必要があります。