6

テキストファイルがあります。たとえば、特定の文字列の1つを含むこれらの行だけを印刷する必要があります: テキストファイル:

Car, bold 231212 /Fds
House pen 232123 /RYF
game kon 342442 /ksgj
mess three 42424 /UTR

そして、FdsまたはUTRを含む行を維持する必要があります

出力:

Car, bold 231212 /Fds
mess three 42424 /UTR

これらをgrepで行う方法は?

ありがとうございました

4

3 に答える 3

9

これを試してみてください。OR演算子はパイプです |::

grep -E 'Fds|UTR' file

また

grep -E '(Fds|UTR)' file

また

grep -P '(?:Fds|UTR)' file

また

grep 'Fds\|UTR' file
于 2013-08-26T20:52:47.820 に答える
3

幸いなことに、これは 1 つのコマンドで実行できます。grep を使用して、ファイルを直接検索するか、ファイルにパイプされたデータを検索できます。この場合、単一のファイルを検索するためにのみ使用します。

grep は正規表現を使用できます。これは、検索時に「または」動作 (「|」またはパイプ記号で示される) を許可するために使用されます。探しているコマンドは

grep 'Fds\|UTR' filename

このバックスラッシュは重要です。これがないと、grep は文字列 "Fds|UTR" を検索しますが、これは明らかに検索テキストには存在しません。

または、 を使用することもできますegrep

egrep 'Fds|UTR' filename
于 2013-08-26T21:01:03.127 に答える
1

私もgrepでやります。スプートニクが答えた。代わりの sed ソリューションとして:

sed '/Fds\|UTR/!d' file
于 2013-08-26T21:12:01.703 に答える