grepは結果のみを表示しますが、一致を含む完全な行を表示します。

grepは結果のみを表示しますが、一致を含む完全な行を表示します。

次のような入力をフィルタリングしたいと思います。

foo 2022-11-11
foo 2022-12-11
something else
bar 2022-12-07

得る

foo 2022-11-11
bar 2022-12-07

始めますgrep -oP "^[A-z]{3}" | sort -uが、もちろん行全体は印刷されません。

答え1

-k 1,1列1から列1()までのみ考慮することをお勧めします。

grep -E '^[[:alpha:]]{3} ' | sort -k 1,1 -u

出力:

bar 2022-12-07
foo 2022-11-11

関連情報