#!/usr/bin/env awk BEGIN { # Initialize number of lines counter safe = 0 } { # Set initial order, 0 for asc, 1 for desc if ($2 > $1) { order = 0 } else { order = 1 } # Loop through items on each line for (i = 1; i < NF; i++) { j = i + 1 k = i + 2 # See if order is matched if ( $i < $j && order == 1 ) { if ( $i < $k && order == 1 ) { next } } else if ( $i > $j && order == 0) { if ( $i > $k && order == 0 ) { next } } # Get absolute diff value if ( $i < $j ) { diff = $j - $i } else { diff = $i - $j } if ( $i < $k ) { diff2 = $k - $i } else { diff2 = $i - $k } # Verify diff within parameters if (diff > 3 || diff < 1) { if (diff2 > 3 || diff2 < 1) { next } } } # If all pass, increment safe counter safe += 1 } END { print safe }