重命名字母数字文件

Ais*_*rni 3 shell filenames rename

我在目录中有以下文件:

 GE.AARS_vs_Control16.txt
 GE.DHX30_vs_Control18.txt
 GE.DNAJC2_vs_Control18.txt
Run Code Online (Sandbox Code Playgroud)

我想删除*_Control<numeric>并将其替换为*_Others这样的文件将被重命名为

 GE.AARS_vs_Others.txt
 GE.DHX30_vs_Others.txt
 GE.DNAJC2_vs_Others.txt
Run Code Online (Sandbox Code Playgroud)

jes*_*e_b 5

for file in /dir/*.txt; do
    mv "$file" "${file%_*}_Others.txt"
done
Run Code Online (Sandbox Code Playgroud)

这${file%_*}是 shell 参数扩展的一种形式,它将删除最后一个_和以后的所有内容。