0

这是我的问题:我需要将不同的文件名从一个公共目录移动到不同的目录文件夹中。我是 Linux 新手,我刚刚做了一些测试,但我陷入了这个问题。例子是:

这些文件:月亮、海、猴子、牛奶

需要移动到已经创建的不同的特定文件夹中,所以

月亮必须移动到 /home/moon

sea 必须移动到 /home/sea

我会通过尽可能少的代码来解决。你能帮我解决这个问题吗?

提前致谢

更新:

这就是我所做的,但我会优化,因为我必须通过更改每个不同文件的 $dirpath 来为需要移动的每个文件重复此代码,因为我不知道如何关联我搜索的文件 ($stuff)以及需要移动文件的正确目录 ($dirpath)。

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  

你能告诉我如何改进这段代码吗?

4

2 回答 2

1

试试这个:

for i in moon sea monkey milk
do
  mv /your/dir/$i /home/$i
done
于 2013-03-23T10:20:16.083 回答
0

移动到存储文件的目录并运行以下代码行。

for i in *  
do  
mv $i /home/$i  
done  
于 2013-03-23T16:40:20.193 回答