statを使用してタッチタイムスタンプを提供する

statを使用してタッチタイムスタンプを提供する

Windows共有のLinuxコマンドラインで、一部の文書をその場でOCRしようとしています。 OCRingプロセスはfindであり、ループを介してファイルを適切にパイプするためにfindコマンドを使用して偶然発見されました。

ただし、修正のために元のタイムスタンプを維持する必要があります。現在、次のようにstatとtouchを使用しようとしています。

#!/bin/bash
OLDIFS=$IFS

    IFS=$(echo -en "\n\b")

    for f in `find /mnt/library/Libra/Libra/Ashfords -name "*.pdf"`
         do
        ORIGTS=`stat -c "%Y" $f`
        sudo /opt/ABBYYOCR9/abbyyocr9 -rl English -pi -if $f -f PDFA -paemImageOnText -pafpr original -of $f
        touch -t $ORIGTS $f

    done

    IFS=$OLDIFS

もちろん、タッチコマンドは失敗しました。コマンドだけを実行すると、「stat -c」が次のように表示されることを確認しました。

1334758696

日付が全く分からないようです。近づいたような気がしますが、私の日付をタッチしやすいバージョンに変換する方法はわかりません。秒単位ですか?

ベストアンサー1

stat's出力はUnixタイムスタンプです。エポック以降

日付を許可するすべてのGNU coreutilsでは、タイムスタンプの前に@

だからこれを試してみてください

touch -d @$ORIGTS $f

バラよりcoreutils - エポックの後の秒

おすすめ記事