$ echo "svn+ssh://[email protected]/repo 2015/branches/DEV_BRANCH_21/main/code/main_input.c" | grep -oP 'branches/.*?/\K.*'
main/code/main_input.c
$ echo "svn+ssh://[email protected]/repo-2015/branches/TEST_BRANCH_56/main/code/main_output.c" | grep -oP 'branches/.*?/\K.*'
main/code/main_output.c
-
branches/.*?/\Ksignifica que a string corresponde abranches, seguida de/e, em seguida, o texto até próximo/. Veja perldoc - Documentação de referência para ler mais
com sed
sed 's|.*branches/[^/]*/||'
-
[^/]*corresponderá ao texto diferente de/