使用 -mv 命令检索放入非目录文件中的数据

使用 -mv 命令检索放入非目录文件中的数据

我使用以下命令将数据移动到目录:

find . -name '*.mat' -exec mv {} ./ooutputs \;

但是目录./ooutputs不存在。ootputs然后创建了一个名为的文件,但我无法打开它。

有没有办法检索文件内的数据?

非常感谢。

文旭

答案1

不幸的是,当命令的目标mv不是现有目录时,它会将源文件重命名为目标;当在find命令中使用时,这意味着与谓词匹配的每个后续文件都将覆盖前一个文件。因此,在你的情况下,文件./ooutputs现在将仅包含匹配的最后一个文件的内容.mat。为了避免此类事故,在将文件移动到新目录时,最好始终包含尾部斜杠字符,即

find . -name '*.mat' -exec mv {} ./ooutputs/ \;

因为如果实际上不是现有目录,这将引发错误/ooutputs。除了从备份中恢复其他文件,我不知道还有其他方法 - 抱歉。

相关内容