如何从文件夹中删除/重命名扩展名

如何从文件夹中删除/重命名扩展名

我有几个文件夹,例如[电子邮件受保护],[电子邮件受保护],[电子邮件受保护]。我想重命名它们,使其成为 name1、name2、name3 等。我发现,如果它们是反之亦然,即 name1、name2、name3,我可以将其移动到[电子邮件受保护]通过跑步

find . -type d -name "*" -depth 1 | while read d; do  mv "$d" "[email protected]"; done

但我该如何做相反的事情呢?[电子邮件受保护]==> 姓名1

答案1

使用 Bash 等 shell:

for d in ./*@*/; do mv "$d" "${d%@*}"; done

for d in ./*@*/循环遍历当前目录中名称包含“@”的所有目录。${d%@*}是一个参数扩展,给出变量的值d减去最后一个“@”以及后面的任何内容。

您可以使其更加严格,例如

for d in ./*@domain.com/; do mv "$d" "${d%@*}"; done

相关内容