atee: multiply the input usage: ... | atee [file1] [file_n] | ... Paramters: the input will be written into the given files and forwarded to the standard output (for further processing). (a simple debug can be used with this) -e {expression} {filename}: the lines for that the expression gives nonzero value (=true) will be stored in the given file. The input can be scattered into several files (one line can satisfy several expressions). Examples: afind *.* | atee del_log.txt | axargs del FILE -> delete each file (with extension) and collect the (deleted) names in del_log.txt ... | atee -e "strcont(line, 'apple')" apples.txt -e "strcont(line, 'grape')" grapes.txt | ... -> collect the input lines containing 'apple' in apples.txt and do similarly with grapes