[英]Looking for mod_rewrite regular expression feature in grep
因為圖片(或示例)價值超過一千個單詞,所以我將使用一個示例:
RewriteRule ^/products/([0-9]+)$ /content.php?id=$1
在這個RewriteRule示例中,我們有簡單的正則表達式。 $ 1是對([0-9] +)所捕獲內容的引用,因此,如果存在匹配項,則引用某個數字。 是否可以在grep中執行類似的操作?
假設某些xml文檔包含以下內容:
<someTag>someValue</someTag>
我只想提取someValue ,但要為second_bash_script輸入以下內容:
first_bash_script | grep "<someTag>\([[:digit::]]\)\+</someTag>" | second_bash_script
是someValue 。 是否可以使用grep僅提取someValue ?
感謝您提供任何線索!
那是兩個獨立的問題,對嗎?
第一個答案是:使用sed
, grep
不做替換。
sed 's_^/products/\([0-9]\+\)_/content.php?id=\1_g'
第二件事可以使用Perl regexp使用grep
完成:
$ echo '<someTag>42</someTag>' | grep -oP '(?<=<someTag>)\d+(?=</someTag>)'
42
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.