regex - 重命名命令 Debian 服务器

标签 regex perl ubuntu debian

以下适用于我的旧服务器(Ubuntu)

rename -n 's/(.*)\/.*\./$1\/$1./' */*

但不在我的新服务器(Debian)上。

我猜新服务器正在使用 Perl rename .如何将上述转换为与 Perl 相同的工作 rename ?它所做的只是重命名文件夹中的文件,以便名称以父文件夹的名称开头(删除原始文件名中最后一个点之前的任何名称)。因此,include/anything.h将变为 include/include.h .

最佳答案

util-linux 中的重命名命令包,不行。

你需要运行:

# apt install rename

如果您运行以下命令 (GNU)
$ file "$(readlink -f "$(type -p rename)")"

并且您的结果包含 Perl script, ASCII text executable并且不包含 ELF ,那么这似乎是正确的工具 =)

如果没有,将其设为 Debian 上的默认值(通常已经如此)和衍生物如 Ubuntu :
# update-alternatives --set rename /usr/bin/file-rename

关于regex - 重命名命令 Debian 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59400066/

相关文章:

java - 挪威数字的正则表达式

Python正则表达式找到两组

python - Selenium Page down by ActionChains

Python:重命名文件夹的前5个文件

c# - 匹配可选的特殊字符

perl - 如何在 Perl 中对 HTTP GET 查询字符串进行编码?

perl - 如何使用 Perl Storable,更改哈希值

perl - 尝试使用日期时间。怎么了?

amazon-web-services - Ubuntu 在免费 AWS 层上运行 LAMP 和 Certbot 时出现 SSL 超时问题

eclipse - 使用适用于 Linux 的 Windows 子系统在 eclipse 上设置 Linux gcc 工具链/编译器