发布网友 发布时间:2022-04-23 10:15
共1个回答
热心网友 时间:2023-01-21 22:44
你这个问题主要是mv的用法了,我简单说一下:
1.
mv可以把多个文件移动到一个文件夹(目录)里面,比如:有a
b
c三个文件,一个目录d,用下面命令就能将a
b
c移动到d中
$
mv
a
b
c
d
需要注意的是,目录d必须在最后面,而且它前面不能再出现其他目录
2.
也可以使用带选项的mv命令,把多个文件移动到一个目录中,如
$
mv
a
b
c
-t
d
$
mv
-t
d
a
b
c
其中,-t后面紧接着的就是要移动到的目录,并且不能有多个目录出现
3.
如果出现了多个目录,比如下面的命令
$
mv
-t
adir
a
-t
bdir
b
mv:
multiple
target
directories
specified
会出现上面的警告,且只执行了前面正确的那部分,即只是将a移动到了adir,后面的没执行
4。如果你的文件和目录名称有一定的关系,你的问题可以通过脚本来解决,当然,脚本的具体内容也要视具体情况而定
假设有文件a
b
c,希望将a移动到adir,将b移动到bdir,将c移动到cdir,那么就可以这样来做
写一个简单shell脚本:move.sh
#
FileName
move.sh
#!/bin/bash
mv
$1
"$1dir"
$
chmod
+x
move.sh
然后,
$
find
.
-type
f
|
xargs
-n
1
./move.sh
执行完毕之后,就发现
$
tree
.
|--
adir
|
`--
a
|--
bdir
|
`--
b
即实现了将a移动到adir,b移动到bdir,c移动到cdir了。
所以,总得来说,你的具体问题还要具体分析才好。当然,如果你的情况正是我上面说的,那么,就用这种方法就OK了
希望对你有所帮助:)