Я тестировал sed:
rsa@rsa-VirtualBox:~$ echo GreenTea | sed 's/Green/Red/' RedTea rsa@rsa-VirtualBox:~$ echo GreenTea | sed 's/^Green/Red/' RedTea
В чем смысл ^ здесь?
В моем понимании ^ означает не включать, но не может объяснить результат выше.
В предоставленных вами примерах ^ означает, что начинается с.
^
echo GreenTea | sed 's/^Green/Red/'
Это означает проверку строкой, которая начинается с Green, и замените зеленый на Red здесь.
Green
Red