2017-02-27 3 views
1

私はスクリプトにregexを使ってみたいと思っています。私はそれが間違っていると思う!Debianでgrepを使ってREGEXを使う

私はこの文字列を持っている: mywebsite.fr/details.php?id=123456

私はこの部分を取得しようとしている: details.php ID = 123456

?私が使用している:

echo "http://mywebsite.fr/details.php?id=123456" | grep "/details(.*)/" 

をコマンドは、任意の結果を返しません。.. 私が誤解しているものはあります私の正規表現で?

は、あなたの答えを事前に
クエンティン

答えて

1

@eThangが答えたとおり、/を使用しないでください。 grepは正規表現の区切り文字として/を使用しません。

そして、あなたが唯一の一致する部分を取得したい場合は、-oオプションを使用します。

$ echo "http://mywebsite.fr/details.php?id=123456" | grep -o "details.*"  
details.php?id=123456 
-o, --only-matching 
      Print only the matched (non-empty) parts of a matching line, with each such part on 
      a separate output line. 

GNU grepのGREP(1)

+0

それは作品を! まだ十分な正規表現がわからない、ありがとうございました 私はあまりにも複雑にしなければならなかった! – mangasource

+0

必要な文字列が複数回表示される場合、最初に停止する方法を選択するにはどうすればよいですか?あなたが理解しているかどうかわからない^^ ' – mangasource

+0

@mangasource、私に例を教えていただけますか? – falsetru

0

ありがとうスラッシュを削除してください。彼らはgrepでは必要ありません。

echo "http://mywebsite.fr/details.php?id=123456" | grep "details(.*)" 
関連する問題