interleave two text files with specified lines
a_file=$1 a_step=$2 b_file=$3 b_step=$4 a_start=1 let a_end=$a_start+$a_step b_start=1 let b_end=$b_start+$b_step a_lines=$(wc -l $a_file | awk '{print $1}') b_lines=$(wc -l $b_file | awk '{print $1}') while true do awk "NR >= $a_start && NR < $a_end {print}" $a_file awk "NR >= $b_start && NR < $b_end {print}" $b_file let a_start=$a_start+$a_step let a_end=$a_end+$a_step let b_start=$b_start+$b_step let b_end=$b_end+$b_step if [ $a_start -ge $a_lines ] && [ $b_start -ge $b_lines ] then break fi #echo "a_start:" $a_start "a_end:" $a_end "b_start:" $b_start "b_end:" $b_end #echo "a_file:" $a_file "a_step:" $a_step #echo "b_file:" $b_file "b_step:" $b_step done
Usage:
bash interleave.sh file_a 7 file_b 1