1

最近(也就是前几天的冬天)写了一个简单的脚本,里面打包了一些文件夹,脚本如下:

#!/bin/bash 
for DIR in `find -name "MY_NAME*" -type d`
do
tar -zcvf $DIR.tar.gz $DIR &
done
echo "Packing is done" > packing.txt

MY_NAME*它工作正常,除了它在它运行的文件夹的每个子目录中搜索。因为MY_NAME*文件夹包含大量文件,并且打包需要很长时间,所以我想限制时间损失,并且我希望find命令MY_NAME*仅在脚本运行的文件夹中查找这些目录(没有子目录)。可以用命令find吗?

4

2 回答 2

5

如果您只希望它在您所在的文件夹中,请不要使用 find。试试这个:

for DIR in MY_NAME*/
   do
   tar -zcvf "$DIR".tar.gz "$DIR" &
done
echo "Packing is done" > packing.txt
于 2012-12-20T21:40:20.993 回答
1

看来您想-maxdepth在命令上使用标志find

find -name "MY_NAME*" -type d -maxdepth 1
于 2012-12-20T21:41:23.330 回答