以下の内容のファイルがあります。
.
.
hello
.
.
.
world
.
.
hello
.
.
.
.
.
world
.
.
ドットは、ファイル内の他の行を示します。ここで私が必要としているのは、helloとworldの行だけです。つまり、出力は次のようになります。
hello
world
hello
world
これを達成する方法は?
ありがとう、
grep
の使用:
grep -E 'hello|world' file
awk
の使用:
awk '/hello|world/' file
grep
を-x
オプションとともに使用して行全体を照合し、(拡張)正規表現演算子|
を使用して、パターン間で論理OR :
grep -xE 'hello|world' file.txt
grep
が-E
オプションをサポートしていない場合は、エスケープされた|
で基本正規表現を使用してください。
grep -x 'hello\|world' file.txt
さらに、-x
オプションを使用して行全体を照合できない場合は、正規表現演算子を使用してください。
grep -E '^(hello|world)$' file.txt