/ / bash - wyodrębnianie linii zawierających tylko 3 kolumny - bash, sortowanie, potokowanie, potokowanie

bash - linie wyodrębniające, które zawierają tylko 3 kolumny - bash, sorting, pipeline, pipelining

Mam plik zawierający następujące wiersze:

2 | bla | bla
1 | bla | bla
3 | bla
2 | bla | bla
1
1 | wysoki | pięć
3 | pięć

Chcę wyodrębnić tylko linie, które mają 3 kolumny (3 pola, 2 separatory ...)
Chcę wyposażyć go w następujące polecenia:

| sort -nbsk1 | cut -d "|" -f1 | uniq -d

Więc po wszystkim dostanę tylko:

2
1

Jakieś sugestie ? To część zadania domowego, nie wolno nam używać awksed i kilku innych poleceń .. (można użyć greptr i tego, co napisano powyżej)

Dzięki

Odpowiedzi:

0 dla odpowiedzi № 1

grep ".*|.*|.*" wybierze linie z przynajmniej trzy pola i dwa separatory.


1 dla odpowiedzi nr 2

skoro powiedziałeś, że grep jest dozwolone:

grep -E "^([^|]*|){2}[^|]*$" file