所以我有一个我想要复制的文件,如果它被修改了。我想把它作为日期和时间保存在它的新位置。
mv my_file.db $(date +%F)
此命令将移动它并将日期设置为名称,但它会删除扩展名。我有3个不同的文件扩展名我想移动。我也希望有时间戳,因为我每天会复制多次。
输入:
sdfgdg.a
abdfgs.b
dfgdfg.c
所以通过运行......
mv * ../Folder
应该产生:
Folder/sdfgdg-2015-01-02-14:50:00.a
Folder/abdfgs-2015-01-02-14:50:00.b
Folder/dfgdfg-2015-01-02-14:50:00.c
答案 0 :(得分:0)
将此函数添加到您的〜/ .bashrc并将其(source ~/.bashrc
)来源或使用第二个会话登录。
function mymv() {
if [[ $# -lt 2 ]]; then
echo "Syntax error: missing aruments"
return 1
fi
target="${@: -1}" # last argument
d="$(date +%F-%T)"
while [[ $# -ge 2 ]]; do
file="$1"
mv -v "$file" "$target/${file%.*}-$d.${file##*.}"
shift
done
}
用法:
mymv file ... directory
示例:
mymv * ../Folder