现有任务如下:
我们拿到了一个目录,目录下有若干子目录,每个子目录下还有若干子目录和文件,我们希望只输入最上层目录,就可以吧该目录下所有的文件都取出来,然后进行移动或者复制。目录结构或许是这样的:
dir1
|-- subdir1
+-- subdir3
+-- audiofile.wav
|-- subdir2
+-- audiofile.wav
+-- audiofile.wav
代码如下:
#!/bin/bash
# useage
# ./thisfilename.sh source
# NOTE:
#
# ensure this .sh file is changed mod
# source is which dir you want to operate
function getfiles(){
for file in `ls $1`
do
if [ -d $1"/"$file ]
then
echo $1"/"$file
getfiles $1"/"$file
else
# 这里是对文件的操作,可以是移动,删除,复制,
# 也可以在对文件进行判断,支队指定类型的文件进行操作
`mv $1"/"$file direSource`
fi
done
}
getfiles $1
参考:
https://www.cnblogs.com/clarke/p/5454457.html