求一shell 脚本

要求运行脚本能够让文件夹a中的文件复制到文件夹b中并且所有文件重命名为12345.。。。。。... 要求运行脚本能够让文件夹a中的文件复制到文件夹b中 并且所有文件 重命名 为 1 2 3 4 5.。。。。。 展开
 我来答
随着你的心d9
2010-05-20 · TA获得超过689个赞
知道小有建树答主
回答量:183
采纳率:75%
帮助的人:134万
展开全部
#!/bin/sh

# 先问user输入文件夹A和B的fullpath

echo "enter 文件夹 A 的 fullpath:\c"
read dirA
echo "enter 文件夹 B 的 fullpath: \c"
read dirB

# 到文件夹A中把所有的文件复制到B去(等会儿再重命名)

if [ ! -d "$dirA" ]
then
echo "ERROR: cannot change dir to \"$dirA\""
exit 1
fi

cd $dirA

# 如果dirB不存在的话,自己建一个
mkdir -p $dirB

# 查查看dirB有没有在?
if [ ! -d "$dirB" ]
then
echo "ERROR: \"$dirB\" is not a directory! Abort!"
exit 2
fi

# 复制
cd $dirA
find . -type f -print | cpio -pmdvu $dirB

# 重新命名
cd $dirB
let n=1
for eachFile in *
do
mv $eachFile $n
let n=n+1
done

# note: 这个简单的脚本,在替文件重新命名时没有考虑到subdir下面的文件
# 如果需要的话,也许可以用:
# for eachFile in $(find . -type f -print)
# do
# mv $eachFile $n
# let n=n+1
# done

你看看这样可以不,谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式