#! /bin/bash packet_size=1280 packets_per_dataset=50 for packet in $(seq 0 24); do for id in $(seq 0 15); do name=$(ls *$id.dat | grep -P "_0?$id.dat") dd if=$name of="roof_test.raw" bs=$packet_size count=$packets_per_dataset skip=$((packet * $packets_per_dataset)) oflag=append conv=notrunc done done