7

sed一部のコマンドの出力 (stdout への) の最初の行をチェックし、特定のパターンに一致する場合はこの最初の行を削除するために使用できますか?

たとえば、コマンドの出力は次のようになります。

"AB"
"CD"
"E"
"F"

私はそれがなりたい:

"CD"
"E"
"F"

しかし、最初の行が の場合、"GH"その行を削除したくありません。

私はこれを試しましたが、うまくいきません:

<some_command> |sed '1/<pattern>/d'

シェルは私に言った:

sed: 0602-403 1/<pattern>/d is not a recognized function.

sed を使用して最初の行を処理したいだけで、他の行はそのままにしておきます。

ここで正しい構文は何ですか?

4

4 に答える 4

7

これはあなたのために働くかもしれません:

sed -e '1!b' -e '/GH/!d' file
于 2013-04-21T00:35:30.187 に答える
4

これはあなたが望むものです:

$ sed '1{/"GH"/!d}' file
于 2013-04-21T00:11:42.310 に答える