linux - 重命名所有文件夹centos

标签 linux terminal centos directory

谁能告诉我如何从终端重命名目录中的所有文件夹? 每个文件夹的格式都是“id-namestring”,有没有什么方法可以使用这种模式重命名以删除文件夹名称中“id”之后的所有内容? 例如,如果文件夹名称是“123-abcd&efg”,则应将其重命名为“123”

最佳答案

find top-level-dir -type d -print0 | xargs -0 rename 's/(\d+)-.+/$1/'

这将重命名目录 top-level-dir 中包含的所有目录 (-type d)。

xargs 用于应对文件列表非常长的情况。 -print0-0 适用于文件名包含空格的情况。

s/(\d+)-.+/$1/ 是用于重命名的实际正则表达式。

关于linux - 重命名所有文件夹centos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697890/

相关文章:

r - Centos 6.3 R安装报错

python - 执行此命令 ps aux | 的时间超过一个小时awk '{ print $10"\t"$12 }'

unix - 从终端单行 sftp

linux - 如何通过 Linux 或 Mac 将整个树莓派 TF 卡的文件系统备份到镜像中

java - 在Android上用Java执行挂载命令

macos - Mac OS X 中更好的终端——反转控制和命令键映射

node.js - 在 centos6 上配置 gcc-4.8.5 以包含 GLIBCXX_3.4.20

apache - 从外部访问在 VirtualBox 上运行的 CentOS 7(最小)服务器

java - 在没有 Tomcat 或 Apache(独立服务)的情况下使用 Borlands StarTeam 在 Linux 中配置 Jenkins

sql - 如何在只有 1 个连接的 bash 循环中运行多个 sqlplus 查询