到目前为止,我有这个脚本。 我的文件夹结构现在是/ root / test / 在内部测试中,每个月根据(日期+%B)
创建一个名为May Jun July的文件夹我希望脚本删除所有子目录减去与此月份匹配的目录(日期+%B)并保留其内容。
目前它删除了子目录匹配以外的所有内容。梅完全是空的。任何想法?
#!/bin/bash
LinkDest=/root/test
m_date=$(date +%B)
find $LinkDest/ -not -name May -xdev -depth -mindepth 1 -exec rm -Rf {} \;
答案 0 :(得分:0)
尝试在没有find
的情况下运行-exec
以查看要删除的内容。问题是-name
尝试匹配整个名称,而不是它的一部分。您需要-path
:
find -not -path "*/$m_date" -not -name $m_date
答案 1 :(得分:0)
您可以使用:
find $LinkDest/ -not -path "*$m_date*" -xdev -depth -mindepth 1 -exec rm -Rf '{}' \;