Split input on separators.
unjoin separator ...
funjoin [-f prefix] [-n number] separator ...
unjoin copies standard input to standard output, replacing occurences of any separator with a newline character.
funjoin splits standard input, separated by any separator, into files named "xx" (or another prefix) and two (or number) decimal digits.
Split on underscores and double colons:
$ echo "one::two_three" | unjoin _ :: one two three
The same, but outputing to separate files rather than separate lines:
$ echo "one::two_three" | funjoin _ :: $ cat xx01 two
make # tweak Makefile to taste make install make uninstall