[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 怎样移动/删除文件名含有非法字符的目录/文件?



On Wednesday 03 May 2006 02:04, yzhh wrote:
> 我有一些从BT下载的目录和文件,名称里面含有非法(?)字符,比如"(安妮泛I??)"。
> 用Konquror或者直接用mv,rm等命令都不能移动和删除(说文件/目录不存在),请问应该怎么做?
> (我试过把ls的结果输出到文件,然后加上mv以及必要的引号做成script执行,失败了)
> --
>    regards,
> yzhh

有很多种方法来做这个事情。比如用 rm 命令,配合 -- 命令行参数,然后用 bash 的自动完成来补全文件名字。

~~~snip~~~
$ rm -- no_use_file00\ 02
~~~snip~~~

文件名字确是比较怪的话,可以用下面这种通用的解决方法。首先使用 ls 的 -i 参数看到文件的 inode 号码。
然后使用 find 命令,配合 -xdev -print0 参数和 xargs 命令把文件删掉。

~~~snip~~~
$ ls -li
total 0
2590713 -rw-r--r--  1 neo neo 0 2006-05-04 21:04 no_use_file00 02
$ find . -inum 2590713 -xdev -print0 | xargs -0 rm -f
~~~snip~~~

或者改名字

~~~snip~~~
$ find . -inum 2590713 -xdev -exec mv {} new_name ';'
~~~snip~~~

-- 
Regards,

Gong Jie (龚颉)
Email: neo@mamiyami.com

Reply to: