从 .txt 移动文件

从 .txt 移动文件

我的所有文件都放在父目录“文件夹”中。我有一个文本文档,其中包含所有文件的适当位置。我想要做的是使用此文本文档将它们从父目录移回其原始位置。我在 Windows 中完成了这项工作,但语法对我来说很新,而且我很难将文件移回。这是我目前所做的:

for file in $(cat ~/Desktop/Folder/ListedFiles.txt); do mv "$file" ~/Desktop/NewFolder; done

答案1

来自评论:

不要使用, 在测试和进行最终测试时mv使用(那个会在重复时出错,不会),并且在验证源后使用。是永久的并且可重复。始终让目标以 a 结尾,否则您可能会得到 1 个名为“NewFolder”的文件。使用 / 会出错,指出“NewFolder”不存在。cp -fcp-fmvcp/

为了确保每次都执行相同的操作,请先使用 cd 命令转到文件所在的位置。您显示的命令可能是正确的。只是缺乏一些安全性 ;) Windows txt 文件将具有不同的行尾,但这通常不是问题。

for file in $(cat ~/Desktop/Folder/ListedFiles.txt); do ... ; done如果任何文件名包含空格,则将失败,如果有其他 shell 特殊字符,则可能会失败 - 安全的结构是while IFS= read -r file; do ... ; done < ~/Desktop/Folder/ListedFiles.txt

使用的解决方案:

while IFS= read -r file; do cp --parents -f -r "$file" ~/Desktop/Folder/; done < ~/Desktop/ListedFiles.txt

相关内容