linux mv命令在以>1开头的文件夹名称的开头增加一个数字字符

hyrbngr7  于 2023-06-29  发布在  Linux
关注(0)|答案(1)|浏览(114)

在Ubuntu上,下面的命令需要将文件夹的名称从“n something”更改为“n+1 something”,其中n是大于1的数字。
下面是命令(通过openai聊天)和错误:
for folder in [2-9]*; do mv "$folder" "$((10#${folder}+1))_${folder#*_}"; done
错误:-bash: 10#2 Gálatas+1: syntax error: invalid arithmetic operator (error token is "álatas+1")
下面是父目录的ls的输出,其中包含西班牙语名称:'1 Romanos' '2 G'$'\303\241''latas' '3 Hebreos' '4 Santiago' '5 I Pedro' '6 II Pedro' '7 Judas' '8 Apocal'$'\303\255''psis'
如何才能做到这一点,而不必手动mv每个目录?谢谢

lfapxunr

lfapxunr1#

假设您没有包含多个连续空格的文件夹名称,您可以尝试以下操作:

for folder in [2-9]*; do 
    read -r number rest <<< "$folder"
    echo mv "$folder" "$((number + 1)) $rest"
done

当你准备好运行mv时删除echo

相关问题