Just combine grep with head command for filtering only the first match as: grep "match" | head -n 1 #Change 1 to not only match first but further matches
#Combine grep and tail for grepping until second match and filtering #last with tail command grep -m2 "two" in-file.txt | tail -n1
Just use flag -m to define number of occurrences to match: grep -m1 pattern file