2017-10-17 50 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" 

我有上面這個簡單的腳本,將刪除我的計算機後保存在我的電腦上的分支,無論我投入什麼天,這將看我上次我修改該分支,避免我從刪除我可能最近一直在努力的分支,儘管它的舊版本。我想添加一個exlusion。基本上,這通常會返回類似:排除某些字符串打擊

austins-123456 

,然後將該文件夾上啓動的室射頻。但我想把它排除某些字符串:

trunk 

回答

1

可能:

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

? :)

檢查-path交換機。

如果它是gitsvn,也許有更合適的解決方案

+0

不過看起來這樣的工作。 sudo find $ FOCUS_HOME -maxdepth 1 -mtime + $ userDays! -name'trunk'-printf'%f \ n'-exec rm -rf {} \ 否則您會得到: find:warning:您在非選項參數!後面指定了-maxdepth選項,但選項是不是位置的(-maxdepth會影響之前指定的測試以及之後指定的測試)。請在其他參數前指定選項。 – Diversity101

+0

我怎麼會添加超過1個字符串,說我想避免幹線,奧斯汀123,奧斯汀321。也是它的SVN但是我不想實際上刪除svn路徑或任何東西只是從我的本地計算機我希望它留在回購中,只是沒有在我的電腦上佔用空間.. lol – Diversity101

+0

從手冊頁檢查-a和-o開關。也許需要括號重組 –