bashを使用して、ファイルが最後に変更された時刻をファイル名に追加したいと思います。
たとえば、次のように出力されますls -la
。
-rw-rw-r-- 1 beginner beginner 5382 Dec 1 17:18 B_F1-1.xml
しなければならない
-rw-rw-r-- 1 beginner beginner 5382 Dec 1 17:18 B_F1-1_20141201T1718.xml
.のすべてのファイルに対してどのようにこれを行うことができますか?
ベストアンサー1
次のように試すことができます。
EXT=${FILE#*.}
NAME=${FILE%%.*}
mv "$FILE" "$NAME$(date --reference "$FILE" '+%Y%m%dT%H%M').$EXT"
スクリプトでdate
サポートされている場合は、--reference
参照されたファイルの最後の変更日を取得します。