这个“查找”命令有什么问题?

Dor*_*rad 14 command-line delete find

我正在执行以下命令(查找所有带有.ts扩展名的文件并删除它们):

find . -type f -name "*.ts" –delete
Run Code Online (Sandbox Code Playgroud)

出现错误:

find: paths must precede expression: `–delete'
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

N0r*_*ert 35

您有印刷符号而不是减号 ( -)。

将您的命令更改为

find . -type f -name "*.ts" -delete
Run Code Online (Sandbox Code Playgroud)

有关完整的语法,请参阅man find

行动
       -delete

        删除文件; 如果删除成功,则为 true。如果删除失败,则会发出错误消息。
        如果-delete 失败, find的退出状态将为非零(当它最终退出时)。
        使用-delete自动打开该-depth选项。


从博客和富文本处理器复制和粘贴命令时要小心。他们可能会将一些印刷符号转换为它们的纯文本等价物,反之亦然。

考虑下次使用简单的文本编辑器来做笔记——使用纯文本、Markdown 或 reStructuredText。

正如@AuxTaco 所提到的 -一些博客可能会依赖您的复制来攻击您的计算机

  • [而且有些博客可能会依赖你的复制来攻击你的电脑。](https://thejh.net/misc/website-terminal-copy-paste) (9认同)
  • 我可以讲这个故事:我将它从终端复制粘贴到一个 MS Word 文档,该文档包含用于部署我们服务器的命令集。在某些情况下,MS Word 会自动修复破折号。然后在我复制该命令一年或一段时间后,问题就打开了......谢谢。 (2认同)