我有一个包含很多子目录的目录,它们前面有一个#:
#adhasdk
#ad18237
我想重命名它们并删除 # 字符 我尝试这样做:
rename -n `s/#//g` *
但似乎没有用。
-bash: s/#//g: No such file or directory
对此有任何想法。 谢谢
最佳答案
就用
$ rename 's/^#//' *
使用 -n 只是为了检查您认为会发生的事情是否真的发生了。 在您的示例中,您有关于错误消息中使用的错误引号(反引号)的线索
-bash: s/#//g: No such file or directory
bash 正在尝试执行名为 s/#//g
的命令。
不,使用 g
(全局)并且不锚定正则表达式,您将替换任何 #
,而不仅仅是第一个位置的那个。
关于linux批量重命名目录并从名称中删除#字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2417339/