#!/usr/bin/env bash set -e echo "> skip a line when reading from stdin" INPUT=$(cat< test.expect echo "$INPUT" | ./skip 1 > test.out diff --brief test.expect test.out rm test.expect test.out echo "> skip a line when reading from a file" cat< test.in line 1 line 2 EOF echo "line 2" > test.expect ./skip 1 test.in > test.out diff --brief test.expect test.out rm test.expect test.out echo "> skip until 2 matching lines seen" cat< test.in alpha beta alpha alpha gamma alpha EOF cat< test.expect alpha gamma alpha EOF ./skip 2 test.in --line alpha > test.out diff --brief test.expect test.out rm test.in test.expect test.out echo "> skip lines until 2 tokens seen" cat< test.in Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. EOF cat< test.expect Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. EOF ./skip 2 test.in --token dolor > test.out 2 diff --brief test.expect test.out rm test.in test.expect test.out echo "> handle unknown parameter with simple error message" cat< test.expect.err Invalid argument '--foo' EOF cat< test.expect EOF touch test.out test.err ./skip --foo > test.out 2> test.err diff --brief test.expect test.out diff --brief test.expect.err test.err rm test.expect test.out rm test.expect.err test.err echo "> skip lines until 3 tokens seen - ignored extra tokens on same line" cat< test.in Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. EOF cat< test.expect quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. EOF ./skip 3 test.in --token m --ignore-extras > test.out diff --brief test.expect test.out rm test.in test.expect test.out echo done