【问题标题】:command to find and delete files containing $ in filename [duplicate]查找和删除文件名中包含 $ 的文件的命令 [重复]
【发布时间】: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 参数使用单引号,您不需要将输出通过管道传输到awkxargs。查找命令具有 -delete 标志以删除找到的条目 find /etc/tertiary/files/ -type f -name 'CDT42D.FDI20T$*.txt' -mtime +60 -delete 应该可以工作

标签: bash shell unix scripting


【解决方案1】:

如果您想删除所有名称中包含 $ 的文件,您可以使用:

rm *$*

【讨论】:

  • 根据 OP 的描述,60 天前 名称中包含 $ 的文件需要删除...
猜你喜欢
  • 1970-01-01
  • 2021-12-06
  • 2019-05-04
  • 2015-03-09
  • 2013-03-20
  • 2019-01-04
  • 2019-08-28
  • 2022-06-11
  • 2012-01-02
相关资源
最近更新 更多