(2021-03-01 初稿 - )
Linuxを使っていると、SDカード等からファイルを読み込むと、なぜか9時間進んだタイムスタンプになり不便。
9時間の時差が関係していると思っているが、対策がわからない。
デジカメの写真の場合は、jheadを使ってExifから正しい時刻に設定しなおしている。
(インストール)
sudo apt install jhead
(使い方)
jhead -ft hoge.jpg
その他のファイルは、設定方法がわからないので、以下のbashスクリプトを作った。
初めて知ったが、dateやtouchコマンドは、時間の引き算もできて便利。
cat ~/bin/chg-fst
#!/bin/bash
# 2021-03-01 start Written by hymd3a
# CHanGe File Time Stamp 9 hours ago
if [ $# -ne 1 ]; then
echo "[Usage] chg-fts file"
echo " Change file time stamp -9 hours"
exit
fi
motofdate=$(date "+%Y/%m/%d %H:%M:%S" -r $1 )
chgfdate=$(date "+%Y/%m/%d %H:%M:%S" -d "$motofdate 9 hour ago")
touch -d "$chgfdate" $1
実行権を与える
chmod +x bin/chg-fst
使い方
(新規ファイルを作成)
touch file1
(ファイルのタイムスタンプを確認)
ls -l file1
-rw-r--r-- 1 hoge hoge 0 3月 1 15:46 file1
(ファイルのタイムスタンプを9時間戻す)
chg-fst file1
(ファイルのタイムスタンプを確認)
ls -l file1
-rw-r--r-- 1 hoge hoge 0 3月 1 06:46 file1
(複数のファイルを一括で変更)
for f in * ; do chg-fts $f ; done