gpt4 book ai didi

linux - 如何在 linux shell 中删除多个文件名的前 2 个字母?

转载 作者:太空狗 更新时间:2023-10-29 11:32:50 25 4
gpt4 key购买 nike

我有以下名称的文件:

Ff6_01.png
Ff6_02.png
Ff6_03.png
...
...
FF1_01.png
FF1_02.png
FF1_03.png

我想删除每个文件名的前两个字母,因为这样我的文件顺序就会正确。有谁知道 linux shell 中的命令吗?

最佳答案

您可以使用语法 ${file:2} 来引用从第 3 个字符开始的名称。

因此,您可以:

for file in F*png
do
mv "$file" "${file:2}"
done

如果 ${file:2} 对你不起作用(rename),你也可以使用 sed:

for file in F*png
do
new_file=$(sed 's/^..//' <<< "$file") <---- cuts first two chars
new_file=$(cut -c3- <<< "$file") <---- the same
mv "$file" "$new_file"
done

测试

$ file="Ff6_01.png"
$ touch $file
$ ls
Ff6_01.png

$ mv "$file" "${file:2}"
$ ls
6_01.png

关于linux - 如何在 linux shell 中删除多个文件名的前 2 个字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com