特定の文字を含む行を削除[重複]

特定の文字を含む行を削除[重複]

ファイルから文字「H」を含む行をどのように削除しますか?ファイルには次の列が含まれています。

H1
N1
H2
C1
H3
H4
C2
H5
H6
N2
H7
C3
H8
H9
C4
H10
H11
N3
H12
C5
H13
H14
C6
H15
H16

希望の出力は次のとおりです。

N1
C1
C2
N2
C3
C4
N3
C5
C6

答え1

容易に:

grep -v 'H' oldfile > newfile

詳しくはgrepのマンページをご覧ください。

man grep

答え2

grepdr01は利用可能なものを使用して良い答えを提供し、いくつかの実装にはsedリダイレクトを使わずにファイルを適切に編集するオプションsedもあります。-i

sed -i /H/d file.txt

答え3

もちろんこれもawk動作します:

awk '!/H/' oldfile > newfile

関連情報