# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/^\/(forum\/|cms\/|wcf\/|calendar\/|filebase\/|blog\/|gallery\/)?([^.\n]+)$/\/${1}index.php?${2}/gm;t' <<< "/article/7-where-to-find-the-new-pve-elite-skills/
/forum/
/forum/thread/1409-lgit-legit-guild-lgit/?pageNo=6
/forum/thread/2956-chat-filter-filter-out-gold-spammers/
/forum/thread/1607-minions-of-the-rabbit-legion-pupu/
/forum/thread/1607-minions-of-the-rabbit-legion-pupu/?action=firstNew
/forum/?action=firstNew "
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html