排除某些字符串 bash


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 '%fn' -exec rm -rf {} 
echo "Done! All branchs $userDays days old are removed"

有上面显示的这个简单的脚本,它将删除我输入的任何日期后保留在计算机上的分支,这将查看我上次修改该分支的时间,避免我删除我最近可能正在处理的分支,即使它很旧。我想对此添加一句。基本上,这通常会返回如下内容:

austins-123456

,然后在该文件夹上启动 RM -RF。但我想让它排除某个字符串:

trunk

也许:

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

? :)

还要检查-path开关。

如果是gitsvn,也许有更合适的解决方案

最新更新