touch -mで使用できる変更された日付を取得します。

touch -mで使用できる変更された日付を取得します。

使用できるように、ファイルの変更日をインポートする必要がありますtouch -m

statそれともperl -le 'print((stat shift)[9])'私が望むものを返しません。 -と+を使うべきだと思いますが、正しく使う方法がわかりません。

Iを使用して-t別の方法で設定することも可能ですが、ここでは2013年7月3日に設定しようとしています。

touch -t  20130703

しかし、それは私が望むように変わりませんでした。では、質問に戻り、 を使用して設定できるように、他のファイル属性をどのようにコピーしますかtouch -m

ベストアンサー1

statコマンドを使用して、返された時間をperl目的の形式に変換できます。date(GNU coreutilsがインストールされていると仮定):

# Convert UNIX time returned by perl to year+month+day
$ date -d @$(perl -le 'print((stat shift)[9])' FILENAME) +%Y%m%d
20130703

# Convert formatted time returned by GNU stat to year+month+day
$ date -d "$(stat -c %y FILENAME)" +%Y%m%d
20130703

dateまた、ファイル変更時間を直接提供することもできます。

$ date -r FILENAME +%Y%m%d
20130703

詳細については、次を参照してください。GNU日付マニュアルページman date)。

おすすめ記事