【问题标题】:How to delete "non-deleteable" files left over from sed -i如何删除 sed -i 遗留的“不可删除”文件
【发布时间】:2016-03-10 18:40:19
【问题描述】:

所以,关于为什么使用sed -i ... 会创建一堆随机文件,这个网站上有很多问题。对我来说,我在一个目录上运行了sed -i ...,它基本上为目录中的每个非文本文件创建了一个临时文件。这些文件被命名为xxx.!nnnn!yyy.ext,其中!nnnn 部分似乎是由sed -i 生成的。

那么,在不删除整个目录并重新克隆 repo 的情况下,如何删除它们?

$ rm bin/.!27249!CassExporter.jar
$ -bash: !27249: event not found

【问题讨论】:

  • 使用引号rm '.!27249!CassExporter.jar'

标签: bash sed rm


【解决方案1】:

你可以使用find:

find FOLDER -name '*!*' -delete

【讨论】:

    【解决方案2】:

    当文件名有 ! 时,它会尝试从 ! 旁边的文本开始展开历史事件。

    您应该使用 set +H 禁用历史扩展

    # disable history expansion
    set +H
    
    # remove all files starting with DOT and having !
    rm bin./.*!*
    
    # re-enable history expansion
    set -H
    

    【讨论】:

      猜你喜欢
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 2021-10-23
      • 2017-07-27
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      相关资源
      最近更新 更多