Чистое решение заключается в явной проверке третьего столбца с помощью awk:
awk '$3 == "CDS"' infile.txt
Для вашего ограниченного примера, похоже, что все совпадения CDS
в других строках являются частью более длинного слова,так что
grep -w 'CDS' infile.txt
также будет работать, требуя, чтобы совпадение было точным словом, но это только на основе показанного вами ограниченного примера.
Решение grep, которое проверяет третий столбец, можетвыглядеть следующим образом (требуется GNU grep для \s
, \S
и \>
):
grep -E '^(\S+\s+){2}CDS\>' infile.txt
или POSIX-совместимый:
grep -E '^([^[:blank:]]+[[:blank:]]+){2}CDS([[:blank:]]|$)' infile.txt