【问题标题】:unrar archive then rename the resulting filesunrar 存档然后重命名生成的文件
【发布时间】:2023-11-21 16:30:01
【问题描述】:

我的目标是解压缩并重命名生成的文件。

test.rar 包含

Oldname.txt
Oldname2.txt
...   - ...

提取后的输出应该是:

Newname.txt
Newname2.txt
...   - ...

我编写了这段代码,但它重命名了 rar 文件而不是提取的文件

for f in *.rar
do
unrar x $f;
mv -- "$f" "$(tr '[a-z][A-Z]' '[n-za-m][N-ZA-M]' <<< "$f")" ; 
done

【问题讨论】:

    标签: rename rar


    【解决方案1】:

    只重命名“rar”文件的原因是

    '$f' 是循环中 '*.rar' 集合的项目,所以只有它被重命名。

    for f in *.rar
    

    您需要执行一个单独的循环来迭代提取的文件,然后重命名它们。

    【讨论】: