shell工具---001

#!/bin/bash

dir="./*"
for file in $dir; do
	if [ -f "$file" ]; then #当文件名有空格时,不加“”会导致too many arguments异常
		echo $file;
	else
		echo "$file"--directory;
		# cd "$file"
		cp "$file"/*.mp4 ./
		rm -rf "$file"

	fi;
done

这个脚本是为了把当前目录下子目录里的所有mp4,都copy到当前目录,这样看起来更方便
目录结构如下:
# BigYellow @ YSMdeMBP in ~/Movies/myDir [11:33:24]
$ tree
.
├── BY
│   ├── aa.avi
│   ├── bb.jpg
│   ├── by.mp4
│   └── cc.txt
├── LOOKMOUNTAIN
│   ├── aa2.avi
│   ├── bb2.jpg
│   ├── by2.mp4
│   └── cc3.txt
├── NEWWESTSTRADA
│   ├── aa1.avi
│   ├── bb1.jpg
│   ├── by1.mp4
│   └── cc1.txt
├── SAKULA
│   ├── aa.avi
│   ├── bb.jpg
│   ├── by.mp4
│   └── cc.txt
└── my_copy.sh
执行完my_copy.sh之后,子目录下的mp4文件都进入当前目录,并且删除子目录。
脚本里的copy可以换成mv,这样应该更合理,但是笔者总觉得copy成功之后再删除更保险一些,即使出错,也不用再把已经mv出来的文件mv回去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值