gpt4 book ai didi

用于在文件名中添加前导零的 Linux shell 脚本

转载 作者:IT老高 更新时间:2023-10-28 12:34:05 24 4
gpt4 key购买 nike

我有一个包含大约 1,700 个文件的文件夹。它们都被命名为 1.txt1497.txt 等。我想重命名所有文件,以便所有文件名都是四位数。

即,23.txt 变为 0023.txt

执行此操作的 shell 脚本是什么?或相关问题:如何使用 grep 仅匹配包含 \d.txt 的行(即,一个数字,然后是句点,然后是字母 txt)?

这是我目前所拥有的:

for a in [command i need help with]
do
mv $a 000$a
done

基本上,运行该命令 3 次,并在其中使用命令查找一位、两位和三位文件名(更改了初始零的数量)。

最佳答案

试试:

for a in [0-9]*.txt; do
mv $a `printf %04d.%s ${a%.*} ${a##*.}`
done

根据需要更改文件名模式 ([0-9]*.txt)。


一种通用的枚举重命名,不对初始文件名集做任何假设:

X=1;
for i in *.txt; do
mv $i $(printf %04d.%s ${X%.*} ${i##*.})
let X="$X+1"
done

关于同一主题:

关于用于在文件名中添加前导零的 Linux shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3672301/

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