排除某些字符串bash

时间:2017-10-17 18:00:30

标签: bash shell

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"

我有上面显示的这个简单的脚本,它将删除我放入计算机后保存在我计算机上的分支,这将查看我上次修改该分支时的内容,避免删除我最近可能拥有的分支一直在努力,即使它的旧。我想为此添加一个例外。基本上这通常会返回类似的内容:

austins-123456

然后在该文件夹上启动rm -rf。但是我希望它排除某个字符串:

trunk

1 个答案:

答案 0 :(得分:1)

也许:

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

? :)

同时检查-path开关。

如果适用于gitsvn,可能会有更合适的解决方案