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 に答える