所以我做了這個規律epression與egrep的運作良好,並能夠完成任務:sed和正則表達式
egrep "(^|[ ]+)([^ ]+)([ ]+)\2([ ]+|$)" $1
我試圖與它的sed但由於某種原因它不工作的工作。
sed '/\(^|[ ]\+\)\([^ ]\+\)\([ ]\+\)\2\([ ]\+|$\)/!d' $1
如果有人可以幫助我瞭解什麼是它的問題,我如何能在egrep的,但使用sed使用正則表達式等,或用回溯解釋如何SED的作品?
所以我做了這個規律epression與egrep的運作良好,並能夠完成任務:sed和正則表達式
egrep "(^|[ ]+)([^ ]+)([ ]+)\2([ ]+|$)" $1
我試圖與它的sed但由於某種原因它不工作的工作。
sed '/\(^|[ ]\+\)\([^ ]\+\)\([ ]\+\)\2\([ ]\+|$\)/!d' $1
如果有人可以幫助我瞭解什麼是它的問題,我如何能在egrep的,但使用sed使用正則表達式等,或用回溯解釋如何SED的作品?
豎線(交替)也應該被轉義:
sed '/\(^|[ ]\+\)\([^ ]\+\)\([ ]\+\)\2\([ ]\+|$\)/!d' "$1" # Yours.
sed '/\(^\|[ ]\+\)\([^ ]\+\)\([ ]\+\)\2\([ ]\+\|$\)/!d' "$1" # correct.
但是,如果你在sed呼籲延長rexexp更容易:
sed -E '/(^|[ ]+)([^ ]+)([ ]+)\2([ ]+|$)/!d' "$1"
使用'-r'(或' - E')選項來啓用擴展的正則表達式風格。 –
在sed中不應該是'\ |'嗎? – melpomene