cmd如何重命名序列号和dirname
问题描述:
goodevening,我们不是英文的。
我们试试linux cmd重命名很多文件或目录。
exsample time\1.ext test\newname.ext read\test.ext what\abc.ext
想听到结果。 time\01-time.ext test\02-test.ext read\03-read.ext what\04-what.ext
是序列号和dirname。
我们尝试了其他问题网站帖子。
但剂量结果。 find "$PWD" -name "[0-9][0-9].md" -exec bash -c ' DIR=$(dirname "{}" ); FILE=$(firename "{}" ); echo "{}" "$DIR"/"-${DIR##*/}".md ' \;
ls *.* | awk '{ printf "mv %s dirname-%03d.md\n", $0, NR }'
这个文件重命名如何使用CMD?
我们想要的结果是未命名的dile &目录。
png,txt,md,很多分机。
we tryed cmd“。”“[0-9] [0-9]”是正则表达式。
cmd如何重命名序列号和dirname
答
我不知道你是否有要求使用awk
或任何其他特定的命令。这是一个相当简单的方式来循环遍历文件并重命名它们。如果您确信将会发生正确的重命名,请从mv
命令中删除echo
。
#!/bin/bash
count=1
for fn in $(find . -name "*.ext" -o -name "*.pdf" -o -name "*.png")
do
filename=$(basename $fn)
extension="${filename##*.}"
dn=$(dirname $fn)
dp=$(basename $dn)
thiscount=$(printf "%03d" $count)
echo mv $fn $dn/$thiscount-$dp.$extension
count=$((count+1))
done
如果有超过100个文件,应该使用什么新名称?会不会有'01-time.ext'和'02-time.pdf'? – lit
好吧,如果重命名超过100个文件的数量是。 在这种情况下,我们使用'[01]''中的'[001]'。 和目录内的混合extfiles。 您的权利,我们使用'01-time.ext和02-time.pdf和03-time.png'等 – follonel