linux递归查找文件夹下所有wav,移动到指定位置

2020-03-20  本文已影响0人  牛奶大泡芙

今天遇到了一个数据处理的问题,在linux服务器上,需要把一个文件夹下所有子文件夹中的wav文件移动到另一个位置,并且名字不变,下面就用sh脚本来实现一下


局座.jpg
#!/bin/bash

function changePlace(){
  echo $1
  #这个方法里面可以对该文件进行操作
  mv $1 "/root/datas/data_thchs30/data_new/"
  #rm -r $1
}
function travFolder(){
  echo $1
  flist=`ls $1`
  cd $1
  #echo $flist
  for f in $flist
  do
    if test -d $f
    then
      #echo "dir:$f"
      travFolder $f
    else
      #echo "file:$f"
      changePlace $f
    fi
  done
  cd ../
}
travFolder $1
                

需要注意的是
1、mv命令的第二个参数需要用引号,而不是反引号,否则会报错
2、mv所跟的第二个参数是相对于当前wav的路径,而不是相对于sh文件的,此处建议选取绝对路径
sh文件的执行方法是

# ./train指代代码中的$1
./pre_newdata.sh ./train

这就是问题的解决方法了,点个小心心再走吧❥(^_-)

上一篇下一篇

猜你喜欢

热点阅读