![使用计数变量对同一文件多次运行 dd 来输出多个文件](https://linux22.com/image/879196/%E4%BD%BF%E7%94%A8%E8%AE%A1%E6%95%B0%E5%8F%98%E9%87%8F%E5%AF%B9%E5%90%8C%E4%B8%80%E6%96%87%E4%BB%B6%E5%A4%9A%E6%AC%A1%E8%BF%90%E8%A1%8C%20dd%20%E6%9D%A5%E8%BE%93%E5%87%BA%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6.png)
很难将我想要做的事情塞进标题中,这是多次处理命令:
dd bs=12345 if=filename.static of=filename+variable(number_counting_upwards).suffix count=(number_starting_at_1234_to_12345)
例如:
dd bs=12345 if=filename.static of=filename_1234 count=1234
到
dd bs=12345 if=filename.static of=filename_12345 count=12345
希望这是有意义的:-/
答案1
我不确定你的意思,但也许你需要这个:
$ echo {1234..12345}
1234 1235 1236 1237 1238 1239 1240 [snip] 12337 12338 12339 12340 12341 12342 12343 12344 12345
然后你可以这样做:
for i in {1234..12345}
do
echo dd bs=12345 if=filename.static of=filename_$i count=$i
done
echo
如果命令看起来正常,则删除。
答案2
until
我使用了一个最后带有循环的脚本:
#!/bin/bash
x=99000
until [ $x = "150000" ]; do
dd bs=1 if=static.file of=static_${x}.file count=$x
((x++))
done