SHELL脚本 移动mv指定目录中的所有文件到其他目录

递归写的,不太好看,反正能用,多担待

#!/bin/bash

function func {
for name in $1*
do
if [ -d "$name" ]
then 
#	echo "$name is a d"
	func $name/ $2 $p
elif [ -f "$name" ]
then 
	echo "$name is a file"
	c=$2${1#*$p}
	if [ -d "$c" ]
	then
		mv $name $c
	else
		mkdir -p $c
		mv $name $c
	fi
fi
done
}

p=$1
#echo "$1 $2 $p"
func $1 $2 $p

存成movefile.sh,修改权限

chmod 755 movefile.sh

然后运行,带上变量 ,第一个变量是from的绝对路径,第二个是to的绝对路径。比如:

./movefile.sh /nfs/upload/ /nfs_bak/upload/

脚本可以把/nfs/upload/下所有年_月/日期/下的文件mv到指定的/nfs_bak/upload/下,不存在的路径会自动生成后再mv

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值