这是一个示例文件Test_ Mürz.jgp 。
怎么会去大文件中的文件名字的问题删除文件…特别是当你不知道的字符的位置。
对于单个文件或小文件集,如果通配符匹配不允许您认为需要的精度,则可以将ls -i (或stat ,如果可用)和find -inum 。
为了安全起见,当使用find的-inum ,一定要确保也使用-xdev来限制search到一个文件系统。 不这样做可能会有意想不到的结果。
例如:
~$ ls -i myweirdfile 183435818 myweirdfile ~$ find . -xdev -inum 183435818 -exec rm -i '{}' ';' rm: remove regular file `./myweirdfile'? y ~$
或者,在一次调用中(这可能取决于GNU coreutils stat,这在Linux上应该是一个相当安全的假设,并且使用sh式的进程replace):
~$ find . -xdev -inum $(stat -c '%i' 'myweirdfile') -exec rm -i '{}' ';' rm: remove regular file `./myweirdfile'? y ~$
你也可以使用find的-delete动作而不是-exec rm。 对于真正奇怪的文件名,这可能会更安全。 首先使用-print或-ls来validation哪个文件将被删除。 像下面这样:
~$ ls -i myweirdfile 183435818 myweirdfile ~$ find . -xdev -inum 183435818 -print ./myweirdfile ~$ find . -xdev -inum 183435818 -delete ~$ find . -xdev -inum 183435818 -print ~$
请记住,硬链接使用相同的inode号码为多个名称,所以你要确保没有任何地方被删除的附加名称(除非你想这样做,显然)。
简单的方法:
ls -i Test_* rm -i [inode number]
你有什么“大规模”的目标?
为什么这不够呢?
$ rm Test_*
一种潜入文件目录树的方法:
$ find /your/base/dir -maxdepth 3 -type f -name 'Test_*' -exec rm {} \;
您可以调整find命令以将文件归零。
我们也可以使用这个命令rm ./"Test_ Mürz.jgp"删除这样的文件
有三种方法: