gpt4 book ai didi

awk - 更改文件名的脚本

转载 作者:行者123 更新时间:2023-12-04 08:25:17 24 4
gpt4 key购买 nike

我是 awk 和基于 shell 的编程的新手。我有一堆文件名 file_0001.dat , file_0002.dat......file_1000.dat .我想更改文件名,例如 file_ 之后的数字与以前的文件名相比将是 4 的倍数。所以我想改变

file_0001.dat to file_0004.dat
file_0002.dat to file_0008.dat

等等。

任何人都可以建议一个简单的脚本来做到这一点。我尝试了以下但没有任何成功。
#!/bin/bash
a=$(echo $1 sed -e 's:file_::g' -e 's:.dat::g')
b=$(echo "${a}*4" | bc)
shuf file_${a}.dat > file_${b}.dat

最佳答案

这个脚本会为你做这个把戏:

#!/bin/bash
for i in `ls -r *.dat`; do
a=`echo $i | sed 's/file_//g' | sed 's/\.dat//g'`
almost_b=`bc -l <<< "$a*4"`
b=`printf "%04d" $almost_b`
rename "s/$a/$b/g" $i
done

之前的文件:

file_0001.dat file_0002.dat



第一次执行后的文件:

file_0004.dat file_0008.dat



第二次执行后的文件:

file_0016.dat file_0032.dat

关于awk - 更改文件名的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24110372/

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