如何批量删除文件名中 "\n\n" 前缀?

2012-04-03 16:44:41 +08:00
 zypatroon
因为一个复制粘贴失误, 文件名中多了两个回车. ls 中察看到的是 ??ABC. 该怎么批量删除呢? 因为 \n 是系统回车字符. 似乎挺麻烦的.

谢谢大家
5538 次点击
所在节点    Linux
10 条回复
Kymair
2012-04-03 16:57:41 +08:00
试试find? 注意不要把其他的文件删除了

find . -name *ABC -exec rm {} \;
lyxint
2012-04-03 16:59:25 +08:00
find . -name "`echo -ne '\n\n*'`" -exec rm -rf {} \;
Kymair
2012-04-03 17:00:42 +08:00
另外一个方法是使用rm的interactive模式

rm -i *ABC

删掉那个文件后Ctrl-C即可
zypatroon
2012-04-03 17:03:31 +08:00
@lyxint @Kymair 已成功~ 谢谢~~
onesuper
2012-04-03 17:19:59 +08:00
用rename可以批量把'\n\n'前缀删掉

rename [from] [to] [files]


$ rename ' #第一个回车
> #第二个回车
> ' '' *
onesuper
2012-04-03 17:23:04 +08:00
#是注释

写成一行是

rename '回车回车' '空' *
zypatroon
2012-04-03 18:01:33 +08:00
@onesuper ~~~ 太牛叉了! 测试成功~
mrmuxl
2012-04-08 22:58:41 +08:00
mark
yangg
2012-04-09 18:52:30 +08:00
@onesuper 用的什么 版本,我的mint下面是

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

rename 's/\.bak$//' *.bak

没你那种语法 。。。
onesuper
2012-04-09 19:19:25 +08:00
@yangg rename是有两个版本,我的fedora 15上是c语言版


你这个是perl版


man rename 第一行可以看到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/31249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX