麻烦 mv 和添加日期

mkr*_*use 4 shell filenames rename variable-substitution

我希望能够将 $oldfile 移动到我的备份文件夹并将日期添加到文件名中。所以我尝试了这个...

mv $oldfile /home/u0146121/backupfiles/$oldfile_$(date +%F-%T)
Run Code Online (Sandbox Code Playgroud)

这只是给了我这个输出文件名。(没有原始文件名)

2013-07-11-10:22:25

然后我意识到了上述方法的潜在问题。我有一个 while 读取循环,它读取我想比较的其他文件的路径名文本文件。例如,$oldfile 实际上是 =

 $ cat oldfiles.txt
 /home/u0146121/OldLogFiles/file2.txt
Run Code Online (Sandbox Code Playgroud)

所以......我希望能够移动file2.txt并保留file2.txt名称并为其添加日期。

cho*_*oba 8

外壳看到$oldfile_未定义的变量。你可以通过使用${oldfile}_来解决这个问题。

但是,您真的要保留旧文件的路径吗?如果没有,请使用

mv $oldfile /home/u0146121/backupfiles/${oldfile##*/}_$(date +%F-%T)
Run Code Online (Sandbox Code Playgroud)