我是bash的新手,可以提供一些帮助。我期待创建一个命令,它将立即复制最新创建的文件与新的新。到目前为止,我想出了以下命令;
find /home/ian/Desktop/TEST/ -type f -mmin -1 -exec echo cp {} /home/ian/Desktop/TEST/ \;
但对于生活或我来说,我找不到重命名文件的方法,我环顾四周并尝试了各种方法,但似乎都没有。我想控制重命名,以便我可以为每个复制的文件添加'_backup'。
最好的方法是什么?对不起,如果这是一个基本问题
一切顺利, 伊恩
答案 0 :(得分:0)
您可以将命令的输出设为字符串,例如a=$(my_command)
。 (My_command是查找。)然后你可以说mv "$a" "$a".backup
。
答案 1 :(得分:0)
find /home/ian/Desktop/TEST/ -type f -mmin -1 -exec echo cp {} /home/ian/Desktop/TEST/{}_backup
答案 2 :(得分:0)
您可能需要使用-execdir
代替-exec
:
-execdir command ;
-execdir command {} +
Like -exec, but the specified command is run from the subdirec‐
tory containing the matched file, which is not normally the
directory in which you started find.
以下命令似乎按预期工作:
find /home/ian/Desktop/TEST/ -type f -mmin -1 -execdir echo cp \{} \{}_backup \;