我遇到了以下命令的问题,该命令会将超过13天的文件从/ unpack移动到/ storage。
find /home/user/private/data/unpack/* -mtime +13 -exec mv {} /home/user/private/data/unpack/storage/ \;
但是,如果我将这些文件保存在子文件夹中的/ storage文件夹中,则上述命令会将所有这些文件从其文件夹中移回/ storage
我搜索了一种从find命令中完全排除/存储的方法,并作为一种方法进行了彻底的修剪。我仍然是linux和regex的新手,所以仍然没有运气让自己工作。
为那个有时间帮助的专业人士交叉手指。
答案 0 :(得分:0)
这可能对你有用(它是一行没有结尾\
个字符的那一行):
find /home/user/private/data/unpack/* \
-mtime +13 \
\( ! -regex '/home/user/private/data/unpack/storage/.*' \) \
-exec mv {} /home/user/private/data/unpack/storage/ \;
答案 1 :(得分:0)
知道这是一个老帖子,但你试试这个
find /home/user/private/data/unpack/* -mtime +13 ! -path /home/user/private/data/unpack/storage/* -exec mv {} /home/user/private/data/unpack/storage/ \;
这应该有效。
很抱歉没有抓到其他命令