The software on this pages will slowly be moved to GitHub https://github.com/hilbix/. The CVS repository will be migrated to GIT as well, so the history will be preserved, a bit. See FAQ.
The tools are developed under Linux with
release early, release often
So you can consider this beta software, or alpha, or pre-alpha, or even worse ;)
Have a look in the download directory for all downloads.
As always here, all you get is the source. No binaries here.
Copy stdin to stdout and stderr, unbuffered
⇒ ⇒ ⇒ The development shifted to another location. All future versions will be published at https://github.com/hilbix/unbuffered ⇐ ⇐ ⇐
Often `tee` fails, as this command does it buffered.
This here is a really easy program to do it unbuffered. Use it like this:
producer | unbuffered 2>>file | consumer
Now you can do also something like:
producer | unbuffered -cp 'prefix ' | consumer
There are options like '-x' to do a hexdump. Also you can give a 'line prefix' to prepend. And there is timestamping.
All you need to do your debugging, quick and dirty.
Bugfix release for option -c. Option -b added
WARNING! The old unbuffered -c now must be written unbuffered -bc!
Incomplete lines were not output in cat mode in contrast to the Usage printed. This was due to a problem noted by me with incomplete lines and -u. Now you must use "unbuffered -bcu" instead of "unbuffered -cu".
This is important. If you rely on the old method, please update your scripts accordingly.
Option -i and -o added
Input and output file descriptors can be specified. So this can read from other FDs than stdin and send to other fds than stderr.
Bugfix, option -a works now
For unknown reason (I believe it worked before) the write-permission (O_WRONLY/O_RDWR) were missing for O_APPEND mode. This triggered another bug where the error processing entered an endless loop.
Option -m and producer can now be forked.
For forked producers unbuffered returns the return value of the producer.
Better usage and GCC 4.4 fixes
Options -u, -l and -a added, option -n changed, option -c improved. Now installs into /usr/local/bin
With option -u and -l you can add a date-time prefix to lines written to STDERR. Option -n can be given multiple to change the line numbering.
Option -a appends the output to a file and not to STDERR. The file is created if it is missing. To allow easy logfile rotation, from time to time the file is closed and reopened (thus recreated if missing).
Option -c was unreliable in that it dumped incomplete lines. This has been changed such, that most time a full line will be written, such that you can use it to number lines etc.
Bugfix and option -c added, also current tinolib
It now needs some more syscalls as the dumped output is no more linebuffered, because I had to change the binding.
The bugfix is for that I forgot to count lineendings in hexdump output.
download (140220 bytes)
First version, it works
License and Disclaimer
All you can see here is free software according to the GNU GPL.