ファイル名に現在の日時を追加する

ファイル名に現在の日時を追加する

現在の日付と時刻をファイル名に追加するには、コマンドに何を追加できますか?

find . -maxdepth 1 -type f ! -name "*.*" -exec cp -p -t /new/location {} \+

答え1

find . -maxdepth 1 -type f ! -name "*.*" -exec cp -p {} /new/location/{}-$(date +%Y-%m-%d) \;

-tコマンドからtarget()パラメータを削除し、cpパスとファイル名を説明しました。

{}ファイル名のプレースホルダとして使用され、date目的の形式でaを追加します。

サンプル形式は+%Y-%m-%d説明が必要です。

答え2

_$(date +%Y-%m-%d_%H-%M-%S)

デート用そして時間、(またはdate +%F_%Tほとんどの実装では単に呼び出されますdate)。

答え3

そしてzsh

autoload zmv # best in ~/.zshrc
now=${(%):-%D{%FT%T%z}} # using prompt expansion with the %
                        # parameter expansion flag

# or (using the strftime builtin)
zmodload zsh/datetime
strftime -s now %FT%T%z $EPOCHSECONDS

# or (using the date external utility)
now=$(date +%FT%T%z)

# optional:
zmodload zsh/files # to enable a cp builtin which would speed
                   # things up considerably if you have
                   # zillions of files to copy.

zmv -C '^*.*(#q.)' '/new/localtion/$f-$now'

(#q.)選択に使用されるグローバル修飾子です。定期的なファイルのみ(例:find's' -type f

関連情報