我有一大堆要重命名的文件。
很像this
所以这就是我的文件的样子
something.pcap1
something.pcap10
something.pcap11
something.pcap12
...
something.pcap111
something.pcap1111
基本上我想重命名所有文件,以便数字用0填充,它们是5位数字。
something.pcap00001
答案 0 :(得分:3)
一个简单的for循环应该可以做到(可以是脚本文件):
for file in $(ls -1 something.pcap*); do
[[ ${file} =~ ^something.pcap([[:digit:]]*).* ]]
newfile=$(printf "something.pcap%05d" ${BASH_REMATCH[1]})
mv ${file} ${newfile}
done
答案 1 :(得分:1)
这样的东西?
rename 's/\d+$/sprintf("%05d",$&)/e' soemthing.pcap*
注意:这适用于debian及其派生词中的重命名。
答案 2 :(得分:0)
这样的事情怎么样?
#!/bin/bash
for i in $(ls something.pcap*); do
q=$(echo $i|sed -e 's/pcap/pcap00000/;s/pcap0*\([0-9]\{6,\}\)$/pcap\1/')
mv $i $q
done
我希望这会有所帮助