【发布时间】:2018-03-13 15:30:30
【问题描述】:
我想要一个能够读取包含文件夹名称的文本文件内容并将文件夹从其目录移动到特定文件夹的脚本。这是我的脚本:
#!/bin/bash
for i in $(cat /folder/collected/folders.txt)
do
mv /fromfilelocation/$i /folder/Collected/
done
这个脚本部分工作,因为它只复制文本文件中的最后一个文件夹,至于其他文件夹它给出错误“不可能:找不到数据或目录”但是文件夹在那里,根据错误文件夹目录显示正确。
我应该怎么做才能让它正常工作??
【问题讨论】:
-
文件folders.txt是包含完整路径还是相对路径?
-
您的文件名中是否有空格或特殊字符?
-
这里有一个行来测试“cat /folder/collected/folders.txt | while read each; do mv /fromfilelocation/$each /folder/Collected; done;”
-
@hovanessyan 它不起作用,它给出了同样的错误,它正确读取了 wolder 名称,但最后有 '$'\r'。例如 /fromfilelocation/foldername'$'\r'。并且 folder.txt 仅包含文件名,我也尝试使用完整路径它不起作用
-
@Thomas 没有空格或特殊字符
标签: linux bash for-loop move mv