shell批量移动文件

shell批量移动文件,第1张

将当前目录下面包括子目录中的png文件移动至指定的target目录

对一个的shell脚本

通常我们使用如下的方式去批量删除文件:

那是否可以采用类似方式通过find命令来批量移动文件呢?

很遗憾,不能采用这种方式来实现

理由: 像cd和ls命令只需要一个input,而像mv和cp等命令都需要两个input,需要source和target。通过管道只能获得一个input。

polly@nowthen:~/test$ cat mv.sh

#!/bin/bash

usage() {

   echo "`basename $0` filetomove targetlocation"

   exit 1

}

if [ $# -ne 2 ] then

   usage

else if [ -e $1 -a -f $1 -o -e $1 -a -d $1 ] then

   echo "$1 exist"

   temp=`basename $1`

   echo "file to mv: ${temp}"

   if [ -e ${temp} ] then

      while [ -e ${temp} ] 

      do

         echo "${temp} exists in current dir"

         sleep 1

      done

      echo "${temp} removed, and copy begin"

      cp -r $1 $2

      exit 0

   else 

      cp -r $1 $2

   fi

fi

fi

程序没有检查目标文件夹是否存在,可以移动文件及文件夹


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7951184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存