回答:
Unixの哲学は、1つのことを実行し、それらをうまく実行するツールを持つことです。この場合grep
は、ファイルからテキストを選択するツールです。重複があるかどうかを調べるために、テキストをソートします。重複を削除するには、の-u
オプションを使用しますsort
。したがって:
grep These filename | sort -u
sort
多くのオプションがあります:をご覧くださいman sort
。重複をカウントしたい場合、または重複の有無を判断するためのより複雑なスキームを使用する場合は、ソート出力をuniq
:に パイプして、オプションgrep These filename | sort | uniq
についてman
uniq`を参照してください。
grep
単一の文字列のみを探している場合は、追加のスイッチを使用します
grep -m1 'These' filename
から man grep
-m NUM, --max-count=NUM
Stop reading a file after NUM matching lines. If the input is
standard input from a regular file, and NUM matching lines are
output, grep ensures that the standard input is positioned to
just after the last matching line before exiting, regardless
of the presence of trailing context lines. This enables a calling
process to resume a search. When grep stops after NUM matching
lines, it outputs any trailing context lines. When the -c or
--count option is also used, grep does not output a count greater
than NUM. When the -v or --invert-match option is also used, grep
stops after outputting NUM non-matching lines.
または使用awk
;)
awk '/These/ {print; exit}' foo