将当前日期和时间附加到文件名

将当前日期和时间附加到文件名

我可以向该命令添加什么内容来将当前日期和时间附加到文件名?

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我已从命令中删除了目标 ( ) 参数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)。

相关内容