0

実際のコマンドはプロンプト (4200 文字) が長すぎるため、複数の行にまたがってコマンドを記述する方法を理解しようとしているので、次の例を試しました。

次の 3 行を含むテスト ファイルを作成しました。

some thing
some
thing

このgrepを実行すると:
grep "some thing" test

次の期待される結果が得られます。
some thing

しかし、このgrepを実行すると:
grep "some \
thing" test

次の予期しない結果が得られます。
some thing
thing

まるで「some」に対して1回、「thing」に対して1回、grepを2回実行したかのようです。\結果が最初のgrepのようになる場所に2を組み合わせるために適切に使用する方法はありますか?

4

3 に答える 3

3

grepの代わりにpcgrepを使用する必要があります。その後、 -Mオプションでパターンに改行を使用できるようになります。

あなたの例では、次のようになります。

pcregrep -M 'some\nthing' test
于 2012-10-23T22:25:17.577 に答える
1

-zPo を使用すると、grep を多言語で動作させることができます。

grep -zPo 'some\nthing' test
于 2015-03-12T19:30:09.687 に答える
0

したがって、次のようになります。
grep "some \
|thing" test.txt

プロデュース:some thing

と同じ:grep "some thing" test.txt

于 2012-10-24T15:05:48.200 に答える