linux批量重命名目录并从名称中删除#字符

标签 linux bash command-line

我有一个包含很多子目录的目录,它们前面有一个#:

#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/

相关文章:

linux - 如何从 Linux 中删除未满足的依赖关系

linux - 如何使用我的 debian 软件包安装软件包?

linux - 用于从 2 个不同文件中获取相同行的 bash 脚本

command-line - 尝试安装 AWS CLI,卡在一个步骤上

bash - 获取错误 cp : cannot stat when trying to copy files from one folder to another

linux - 如何通过 linux 命令提示符设置 PHP session 变量?

xml - sed 异常/if else 删除 xml 上的单词的条件

bash - 如何在 bash 中退出带有错误消息和错误代码的程序?

java bash命令问题

c# - .NET 控制台应用命令行文件参数解析