如何删除 sed -i 遗留的 "non-deleteable" 个文件

How to delete "non-deleteable" files left over from sed -i

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

生成的

那么,如果不删除整个目录并重新克隆存储库,我该如何删除它们?

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

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

您应该使用 set +H

禁用历史扩展
# disable history expansion
set +H

# remove all files starting with DOT and having !
rm bin./.*!*

# re-enable history expansion
set -H

您可以使用 find:

find FOLDER -name '*!*' -delete