The GNU abcsh program is a shell for processing ABC Music Notation files. It is extensible by writing scripts in Guile, the GNU extention language. Because it is protected by the GNU General Public License, users are free to share and change it.
GNU abcsh was written by R. S. Doiel.
abcsh can be used in a couple of different ways. It can be used as a simple command line utility for processing ABC Music Notations file based on several command line options. It can also be run interactively. It can run an abcsh script for batch processing ABC music notation content. The important thing to understand is that abcsh processes ABC music notation content but does not take ABC notation as it direct input. abcsh is usually used to transform ABC Music Notation content in some fashion. Common things to use abcsh for would be merge ABC files, renumber them, make a table of contents, make indexes and rendering out a new ABC file as a result. It can also be used to filter ABC Notation by tune, voice or measure. Finally it has a limited ability to read and write MusicXML.