这是我的问题:我需要将不同的文件名从公共目录移动到不同的目录文件夹中。我是Linux的新手,我刚刚做了一些测试,但我遇到了这个问题。例子是:
这些文件:月亮,海洋,猴子,牛奶
需要在已创建的不同特定文件夹中移动
月亮必须移到/ home / moon
海必须搬到/ 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
你能告诉我如何改进这段代码吗?
答案 0 :(得分:1)
试试这个:
for i in moon sea monkey milk
do
mv /your/dir/$i /home/$i
done
答案 1 :(得分:0)
移动到存储文件的目录并运行以下代码行。
for i in *
do
mv $i /home/$i
done