当目录中有相似文件名时 rm 一个文件?

rm a file when there are similar names of files in directory?

假设在一个目录中,您的名称非常长且彼此相似。

有没有办法使用rm浏览目录到select你想删除的目录?

可能类似于您使用 vim 打开目录时浏览目录的方式...

要列出所有可能性(在 bash 中),请在命令提示符下键入 "rm space",它会询问您是否要显示所有文件。然后你就可以输入了。

即使你用 bash 标记了这个问题,你也可以试试 zsh。如果您键入 "rm space",您可以点击 tab 几次,然后您可以使用光标键导航到感兴趣的文件名。

如果您有支持 -d 选项的 xargs 版本,您可以按照这些思路进行操作:

ls > list_of_files

创建一个包含您的文件名的文件list_of_files。然后编辑这个文件(用,例如vim),删除你想保留的文件,留下你想删除的文件。那么:

< list_of_files xargs -d\n -n1 echo rm --

删除列表中的文件。

请注意,我使用了:-n1 选项并保留了 echo:原样,此命令是无害的。它只会在您的终端上显示将执行哪些 rm 命令。如果这对您来说不错,请删除 -n1echo.

如果您的 xargs 不支持 -d 选项,请不要使用此方法,除非您彻底检查您的文件名不支持包含空格、引号、反斜杠和其他有趣的字符。

此外,首先要确保您的文件名不包含换行符(并检查 list_of_files 是否正常)。