2010-03-10 27 views

回答

5

只需使用

$ rename 's/^#//' * 

使用-n只是为了检查你认为它会发生真的发生。 在你比如你有关于在错误消息中使用的错误引号(反引号)

-bash: s/#//g: No such file or directory 

庆典正试图执行一个名为s/#//g命令的线索。

没有使用g(全局)并且不固定正则表达式,您将替换任何#,而不仅仅是第一个位置中的那个。

+0

+1为锚点。方法如下:'s/^#//' –

2

问题是你使用反引号(`)。你应该用正常报价:

rename -n 's/#//g' * 
3

我不知道它是否只是当你键入了这里,但“重命名”命令应该工作,如果一个错字别:

  1. 你离开关“ -n”和
  2. 你引用的替代与普通的单引号,而不是反引号

的‘-n’告诉它没有真正做任何事情。后面的引号只是错误的(他们的意思是一些,但不是你想要的东西)。

1
for DIR in \#*/ 
do 
    echo mv "$DIR" "${DIR/#\#/}" 
done 
0

我不得不重命名给定文件夹内的所有文件夹。每个文件夹名称在圆括号内都有一些文本。以下命令从所有文件夹名称中删除圆括号:

重命名's /(.+)//'*