Bash 多条件循环,while,if
我的问题是:我需要将不同的文件名从一个公共目录移动到不同的目录文件夹中。我是Linux新手,我刚刚做了一些测试,但我被困在这个问题上。例如: 这些文件:月亮,大海,猴子,牛奶 需要在已创建的不同特定文件夹中移动,以便 月亮必须移到/家/月亮 海必须移到/家/海 我会尽可能少用代码来解决这个问题。你能帮我吗 提前谢谢 更新: 这就是我所做的,但我会进行优化,因为我必须通过更改每个不同文件的$dirpath来为每个需要移动的文件重复此代码,因为我不知道如何将我搜索的文件($stuff)与需要移动文件的正确目录($dirpath)相关联Bash 多条件循环,while,if,bash,embedded-linux,Bash,Embedded Linux,我的问题是:我需要将不同的文件名从一个公共目录移动到不同的目录文件夹中。我是Linux新手,我刚刚做了一些测试,但我被困在这个问题上。例如: 这些文件:月亮,大海,猴子,牛奶 需要在已创建的不同特定文件夹中移动,以便 月亮必须移到/家/月亮 海必须移到/家/海 我会尽可能少用代码来解决这个问题。你能帮我吗 提前谢谢 更新: 这就是我所做的,但我会进行优化,因为我必须通过更改每个不同文件的$dirpath来为每个需要移动的文件重复此代码,因为我不知道如何将我搜索的文件($stuff)与需要移动文件
stuff="*Milk*"
if test -n "$(find /volume1/Incoming/ -iname "$stuff")"
then
dirpath="/volume1/home/My milk"
echo -n Action taken file move:" " >/volume1/homes/admin/result
find /volume1/Incoming/ -iname "$stuff" -print >>/volume1/homes/admin/result -exec mv {} "$dirpath" \;
echo Destination: $dirpath >>/volume1/homes/admin/result
你能告诉我如何改进这个代码吗 试试这个:
for i in moon sea monkey milk
do
mv /your/dir/$i /home/$i
done
移动到存储文件的目录并运行以下代码行
for i in *
do
mv $i /home/$i
done
到目前为止你有什么?请给出一个实际的例子,说明你想做什么,如果一个文件需要移动到一个同名的目录中,那么这些目录中只有一个文件,实际上你不需要条件。