computer software used to perform basic text transformations on an input stream (a file or input from a pipeline)