我在sed上遇到了一些麻煩。什麼是正確的方式來提取模式?
例如下面的回報world
,我希望它返回只是w
sed只提取圖案
echo "hello world" | sed -n 's|hello \(w\)|\1|p'
我在sed上遇到了一些麻煩。什麼是正確的方式來提取模式?
例如下面的回報world
,我希望它返回只是w
sed只提取圖案
echo "hello world" | sed -n 's|hello \(w\)|\1|p'
你忘了匹配& REPLACE(刪除)w
後的文字:
echo "hello world" | sed -n 's|hello \(w\).*|\1|p'
你可以更好的使用這條路。
回聲「hello world」| sed -r's /.+(w)。*/\ 1 /'
這將只提取w字符。 -r選項是擴展正則表達式。所以我們不使用轉義「\」特殊字符。
。匹配任何單個字符。 *星號將匹配零個或多個匹配項。 + plus將匹配一個或多個匹配項。 ()這是使用此分組方法,您可以取回引用。用來代替方法的是 。
'-r'被gnu sed識別,但有很多'sed'不接受這個選項。 –
sed命令如果匹配任何字符串如果在第一個字符匹配只有第二字
SED的/([AZ]。*)([AZ])。*/\ 2 /'inputfile中
你的模式符合'hello world'中的'hello w'。只有那個匹配纔會被替換爲'w'。 – Gumbo