Мне это кажется ясным, но все равно вы идете.
-f
пропускает поля. Так
(ol)noufal@sanitarium% echo "a b c\nd e c" | uniq -c
1 a b c
1 d e c
печатает две отдельные строки, но если пропустить первые два поля (-f2) и сравнить только последние,
(ol)noufal@sanitarium% echo "a b c\nd e c" | uniq -c -f2
2 a b c
они оба одинаковые.
Аналогично,
(ol)noufal@sanitarium% echo "abc\ndec" | uniq -c
1 abc
1 dec
(ol)noufal@sanitarium% echo "abc\ndec" | uniq -c -s2
2 abc
Мы пропускаем первые два символа здесь (а не поля).
Что касается определения полей, то в руководстве это есть.
Поле - это пробел (обычно пробелы и / или табуляции), затем
непустые символы.