2017-10-17 10 views
0
echo "How many days old are the branches you want to delete" 
echo -n "[Branches age]: " 
read userDays 
echo "Deleting branchs older than $userDays day old:" 
sudo find $FOCUS_HOME -maxdepth 1 -mtime +$userDays -printf '%f\n' -exec rm -rf {} \ 
echo "Done! All branchs $userDays days old are removed" 

私はこの日にコンピュータに保存されているブランチを削除します。ブランチを削除する私は最近、その古いものでも作業していたかもしれません。私はこれにエクストラクションを加えたいと思っていました。基本的には、通常次のような結果が返されます:特定の文字列bashを除外します

austins-123456 

そして、そのフォルダでrm -rfを起動します。たぶん

trunk 

答えて

1

sudo find $FOCUS_HOME -maxdepth 1 -mtime +$userDays ! -name 'trunk' -printf '- %f\n' -exec rm -rf {} \ 

しかし、私はそれが特定の文字列を除外したいですか? :)

-pathスイッチもチェックしてください。それはしかし、働いていたよう

それはgitまたはsvnのためなら、多分より適切な解決策があります

+0

が見えます。 sudo find $ FOCUS_HOME -maxdepth 1 -mtime + $ userDays! それ以外の場合: find:警告:オプションではない引数の後ろに-maxdepthオプションを指定しましたが、オプションは次のようになります:-name 'trunk' -printf '%f \ n' -exec rm -rf {} (-maxdepthは、その前に指定されたテストおよびそれの後に指定されたテストに影響します)。他の引数の前にオプションを指定してください。 – Diversity101

+0

どのように実際に1つ以上の文字列を追加するのですか?austins-321、austins-123、trunkを避けたかったとします。またSVNしかし、私は実際に私のコンピュータ上のスペースを取っていないちょうど私のローカルコンピュータからsvnのパスや何かを削除する必要はありません。lol – Diversity101

+0

-aと-oのマニュアルページからの切り替え。たぶん括弧の再編成が必要です –

関連する問題