通过从文本文件读取文件名从目录中移动文件
问题描述:
我想要一个能够读取包含文件夹名称的文本文件内容并将文件夹从其目录移动到特定文件夹的脚本。这里是我的脚本:通过从文本文件读取文件名从目录中移动文件
#!/bin/bash
for i in $(cat /folder/collected/folders.txt)
do
mv /fromfilelocation/$i /folder/Collected/
done
此脚本一部分工作,因为它仅复制文本文件中的最后一个文件夹,至于其他的文件夹,它给出了错误“不可能的:数据或目录未找到”但文件夹在那里,并根据错误文件夹目录被正确显示。 这些名称没有特殊字符或空格,并且如果文本文件中包含完整目录或只包含文件夹名称,则它们是相同的错误。 显示的错误是找不到文件或目录,但它显示正确的目录到$'\ r'文件夹。示例/ fromfilelocation/foldername'$'\ r。
只要您打算在此处使用绝对路径,您的代码就可以用于我。和'/文件夹/收集/'相同'/文件夹/收集/'?大/小写? – Klaus
确保文件名没有空格,如果他们确实把它放在脚本的第一行'IFS = $'\ n'' –
'folders.txt'有窗口行尾。您需要从文本文件中删除'\ r'字符。不要使用for循环从文件中读取 - http://mywiki.wooledge.org/DontReadLinesWithFor – fd0