重命名命令 Debian 服务器
rename command Debian server
以下内容适用于我的旧服务器 (Ubuntu)
rename -n 's/(.*)\/.*\./\/./' */*
但不在我的新服务器 (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
以下内容适用于我的旧服务器 (Ubuntu)
rename -n 's/(.*)\/.*\./\/./' */*
但不在我的新服务器 (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