# remove target 1s/^[^:]*: // # collapse lines :loop /\\$/ { s|///*|/|g s|$|//| N s|\\//. *|| b loop } # split on unescaped spaces s/\([^\]\) */\1\ /g # unescape spaces s/\\ / /g