Bash 用find进行冬季猛击

Bash 用find进行冬季猛击,bash,command,find,Bash,Command,Find,最近,在冬天的几天里,我写了一个简单的脚本,其中包含一些文件夹,脚本如下所示: #!/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*文件夹包含大量文件,打包需要很长时间,因此我希望限制时

最近,在冬天的几天里,我写了一个简单的脚本,其中包含一些文件夹,脚本如下所示:

#!/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*目录,而不查找子目录。是否可以使用“查找”命令?

如果只想将其放在您所在的文件夹中,请不要使用“查找”。试试这个:

for DIR in MY_NAME*/
   do
   tar -zcvf "$DIR".tar.gz "$DIR" &
done
echo "Packing is done" > packing.txt

如果您只希望它位于您所在的文件夹中,请不要使用“查找”。试试这个:

for DIR in MY_NAME*/
   do
   tar -zcvf "$DIR".tar.gz "$DIR" &
done
echo "Packing is done" > packing.txt

似乎要在find命令上使用-maxdepth标志:


似乎要在find命令上使用-maxdepth标志:


我必须承认,很长一段时间以来,在有人指出只需单独使用shell glob之前,我是$ls*.c文件的滥用者。哇,是吗easier@DrakeClarris你的答案也很好,但对于我来说,我的find版本更容易阅读!无论如何,谢谢你的快速回复!如果您想限制以MY_NAME开始的目录,请使用MY_NAME*/中的dir,并使用后面的slashWhow,我不知道为什么我没有想到这一点。在linux方面总是学习新的东西。我要把它编辑成英文。谢谢,我必须承认,很长一段时间以来,在有人指出只需单独使用shell glob之前,我是$ls*.c文件的滥用者。哇,是吗easier@DrakeClarris你的答案也很好,但对于我来说,我的find版本更容易阅读!无论如何,谢谢你的快速回复!如果您想限制以MY_NAME开始的目录,请使用MY_NAME*/中的dir,并使用后面的slashWhow,我不知道为什么我没有想到这一点。在linux方面总是学习新的东西。我要把它编辑成英文。谢谢