linux - 在 linux 中更改基本名称而不更改扩展名的脚本

标签 linux bash shell file-rename

我有几个文件 a.dat, a.txt, a.mp3, b.dat, b.txt, b.mp3, b.zip, b.rar, c .mp3 等等。我想将所有基本名称为“a”的文件重命名为基本名称“x”。

这样文件就变成了x.dat, x.txt, x.mp3, b.dat,b.txt,b.mp3,b.zip,b.rar,c.mp3` 和等等。

在 Linux 中,这可以通过终端完成,但需要大量输入。我想要一个脚本来为我完成任务。

最佳答案

当您有rename(或某些系统上的prename)命令时,您不需要脚本。

它允许使用任意复杂的 Perl 正则表达式重命名文件组:

pax> ll qq*
-rwxr-xr-x 1 pax pax 4574 Apr 13 17:03 qq
-rw-r--r-- 1 pax pax  213 Apr 13 17:03 qq.c
-rw-r--r-- 1 pax pax  804 Apr  6 12:23 qq.cpp
-rw-r--r-- 1 pax pax  258 Apr  5 21:33 qq.m
-rw-r--r-- 1 pax pax  904 Apr  6 10:35 qq.o
-rw-r--r-- 1 pax pax  241 Apr  6 10:50 qq.py
-rw-r--r-- 1 pax pax  769 Apr  7 09:47 qq.txt

pax> rename 's/qq/xyzzy/' qq*

pax> ll qq*
ls: cannot access qq*: No such file or directory

pax> ll xyzzy*
-rwxr-xr-x 1 pax pax 4574 Apr 13 17:03 xyzzy
-rw-r--r-- 1 pax pax  213 Apr 13 17:03 xyzzy.c
-rw-r--r-- 1 pax pax  804 Apr  6 12:23 xyzzy.cpp
-rw-r--r-- 1 pax pax  258 Apr  5 21:33 xyzzy.m
-rw-r--r-- 1 pax pax  904 Apr  6 10:35 xyzzy.o
-rw-r--r-- 1 pax pax  241 Apr  6 10:50 xyzzy.py
-rw-r--r-- 1 pax pax  769 Apr  7 09:47 xyzzy.txt

关于linux - 在 linux 中更改基本名称而不更改扩展名的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10138322/

相关文章:

linux nasm程序集隔离字符串中的字符

linux - 构建 glibc 时出现 "can not be used when making a shared object"

linux - shell 脚本 : Run function from script over ssh

linux - 如何从另一个文件中读取文件

linux - 是否可以仅针对某些特定的 C++11 代码段 {activate|de-activate} SIGFPE 生成?

linux - 如果未禁用,则禁用它并再次选择启用

bash - 简单的 docker 部署策略

bash - 如何使用 worker/master 概念使用 slurm 在不同节点上运行不同的独立并行作业?

linux - 如何将 GCE 用户添加到保留成员身份的组?

linux - 如何将默认的 bash/zsh 模式设置为 vi 命令模式而不是 vi 插入模式?