我使用以下命令将数据移动到目录:
find . -name '*.mat' -exec mv {} ./ooutputs \;
但是目录./ooutputs
不存在。ootputs
然后创建了一个名为的文件,但我无法打开它。
有没有办法检索文件内的数据?
非常感谢。
文旭
答案1
不幸的是,当命令的目标mv
不是现有目录时,它会将源文件重命名为目标;当在find
命令中使用时,这意味着与谓词匹配的每个后续文件都将覆盖前一个文件。因此,在你的情况下,文件./ooutputs
现在将仅包含匹配的最后一个文件的内容.mat
。为了避免此类事故,在将文件移动到新目录时,最好始终包含尾部斜杠字符,即
find . -name '*.mat' -exec mv {} ./ooutputs/ \;
因为如果实际上不是现有目录,这将引发错误/ooutputs
。除了从备份中恢复其他文件,我不知道还有其他方法 - 抱歉。