【发布时间】:2021-09-12 11:49:21
【问题描述】:
我必须使用 find 命令删除 60 天前的文件。我正在使用以下命令删除:
find /etc/tertiary/files/ -type f -name "CDT42D.FDI20T$*.txt" -mtime +60 -print \
| awk -F"/" '{print $NF}' \
| xargs -n 50 rm
但由于文件名有 '$' 而失败,请建议需要对上述命令进行哪些更改才能删除名称中包含特殊字符($)的文件。
【问题讨论】:
-
在 -name 中使用单引号而不是双引号,以避免任何变量扩展尝试。
-
对
-name参数使用单引号,您不需要将输出通过管道传输到awk和xargs。查找命令具有-delete标志以删除找到的条目find /etc/tertiary/files/ -type f -name 'CDT42D.FDI20T$*.txt' -mtime +60 -delete应该可以工作