References
The "elleff"-Language:
Every vocale c in a word is substituted with clcfc.
--> The ampersand (&) holds the matched string:
bash$ sed -e 's/[aeiou]\+/&l&f&/g'
Referencing a substring
Substrings enclosed with "\(" and "\)" can be referenced with "\n" (n is a digit from 1 to 9)
bash$ sed -e 's/\([^ ]\+\) *\([^ ]\+\) *\([^ ]\+\)/\3 \2 \1/'
- swaps the first three words in a line
- does nothing if the line contains less than 3 words.
The "elleff"-Backtransform
The RE "[aeiou]l[aeiou]f[aeiou]" matches strings which are not "ellef"-vokales.
Basic REs can use the backreference in the RE itself!
bash$ sed -e 's/\([aeiou]\+\)l\1f\1/\1/g'