在linux中不更改扩展名的情况下更改基本名称的脚本

Chi*_*rag 0 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 中,这可以通过终端完成,但需要大量输入。我想要一个脚本来为我完成任务。

pax*_*blo 5

当您拥有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
Run Code Online (Sandbox Code Playgroud)