Brash v1.2.3 Release Notes

23-Jun-2016: Updated

Major bug fix. The following code did not function correctly:

.cat somefile | while read line do echo someWord | read somevariable echo $somevariable done In this example, somevariable was populated with the wrong text. Instead of being "someWord", it was whatever found in the file, somefile, immediately after the line just read by the while statement.

This problem only applied to the "read", ".head", ".regex", ".cat" and other builtin commands that applied to files.

Further, the problem only really happened if .cat was used to force the data through the pipe, but it was not .cat or read that was broken, but rather the clone() function which is used in duplicating file handles for the pipe.

Added .uniq with its many options.

Fixed a crash in .head when you had a bad number to the -l option.

See .brashrc for the function, .sort. There are amazing things that you can do by piping .sort to .uniq. .sort lets you bring duplicate lines in a file together and .uniq lets you decide how many lines of a given type there are and choose to print them or not. There's more power here than may be immediately obvious. Think about it.

Needed Brash Enhancements and Caveats: