grepを使用してファイルから部品を抽出していますが、正しく動作させるには問題があります。文字列からPCRE - 最初の一致
something0(something1
私は何かを抽出したい0。これは
echo 'a b(c d' | grep -Po '(?m)^.+?(?=\(.+)' #outputs 'a b'
でもないので、他の入力に、いくつかの入力に正常に動作し、
echo 'a b()c d(e f' | grep -Po '(?m)^.+?(?=\(.+)' #outputs 'a b' and '() c d'
にはどうすればいいのgrepは最初のマッチを返すか、私の正規表現を改善するだろうか? grepのは、これらの行でファイル全体を読み込みますし、私はこれをmisstakingていないよ場合にのみ出力最初は今までのファイルにマッチしますので、
head -n 1
、配管にgrepする出力は、代替ではありません。それはあなたが確信している、任意の '('。
感謝。
-P
ありがとうございます。私は質問が自明だが、正規表現は私にはかなり新しいことを理解しています。 –
@ MLP Np m8。喜んで助けてください。 – FailedDev