sed -n '/aaaa/{:a;n;/zzzz/b;p;ba}'
誰かがこのsedコマンドを私に説明してもらえますか?
:正しいと期待されている "sometext"、
echo "aaaa\nsometext\nzzzz\n" | sed -n '/aaaa/{:a;n;/zzzz/b;p;ba}'
プリントが、私はしばらくの間、sedのチートシートを凝視にもかかわらず、構文を理解していません。
ありがとうございます!
sed -n '/aaaa/{:a;n;/zzzz/b;p;ba}'
誰かがこのsedコマンドを私に説明してもらえますか?
:正しいと期待されている "sometext"、
echo "aaaa\nsometext\nzzzz\n" | sed -n '/aaaa/{:a;n;/zzzz/b;p;ba}'
プリントが、私はしばらくの間、sedのチートシートを凝視にもかかわらず、構文を理解していません。
ありがとうございます!
sedは、現在の行をパターン領域に読み込みます。通常、sedは現在の行を処理した後にパターン空間を表示します。これは、オプション-n
で無効にすることができます。 sedはコマンドp
でパターン空間のみを出力します。
もしsedが式aaaa
のどこかを含む行を見つけた場合にのみ、それはcurley bracketsでコマンドを実行します。
:a
は、名前がa
のラベルであり、効果がありません。コマンドn
を使用して、sedは次の入力行をそのパターン領域に読み込みます。 aaaa
はパターンスペースで上書きされます。パターンスペースに式zzzz
が含まれている場合は、コマンドb
を実行し、スクリプトの最後に分岐して実行を終了します。パターンスペースに式zzzz
が含まれていない場合はp
(印刷パターンスペース)を実行し、コマンドba
(ラベルa
にジャンプ)を実行します。そしてコマンドでもう一度やり直してくださいn
...
ようこそStackOverflow。残念ながら、これは無料のコンサルティング/デザイン/コーディング/デバッグサービス、チュートリアルサイト、Web検索の代替ではありません。私たちは[特定の問題](https://stackoverflow.com/help/on-topic)を解決するのを助けることができますが、**あなたの仕事** ** [いくつかの努力をする](http://meta.stackoverflow.com/question/261592)**初級** [(再)検索](https://google.com/)* –
Hmを含む件名の件名に**。私のmingwコンソールで私のために働かない。 –
文字通り、 'sed'コマンドの使い方や、あなたの例の置換文字列を解釈する方法のウェブ検索から、何千もの例が得られるはずです。 –