今天遇到了一个数据处理的问题,在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
这就是问题的解决方法了,点个小心心再走吧❥(^_-)
网友评论