我需要使用*
符號突出顯示文本中的每個重複單詞。
例如使用sed多次執行同一行上的命令
lol foo lol bar foo bar
應該
lol foo *lol* bar *foo* *bar*
我試着用下面的命令:
echo "lol foo lol bar foo bar" | sed -r -e 's/(\b[a-zA-Z]+\b)([^*]+)(\1)/\1\2*\3*/'
它給我:
lol foo *lol* bar foo bar
然後我說g
標誌:
lol foo *lol* bar foo *bar*
但foo
並不突出。
我知道這是因爲sed
doesn't look behind if the match was found。
我可以只用sed
嗎?
只有'sed'你說...這需要一些我相信的'sed'魔法。 – rid
爲什麼不使用'awk'?它可以解決你的問題。 – Jotne
@Jotne坦率地說,我已經完成了只有sed才能完成的任務。但總的來說,我感興趣的是,如果'sed'可以在一行上執行相同的命令多次 – Dany