Command Line WRAPper is a tool that provides an easy way to build and run commands from input lines, avoiding the use of shell script. It is similar to xargs.

clwrap can make great things with the locate command, and is low resource intensive. It can also do some not-quite-fun works like multiple configure/make/make install after a fresh system installation. In practice, you have to generate a list of files/directories you want to manage, clwrap takes it in standard input and apply the command you want to apply for each files (lines) in input.

But you can do much more, in fact, it's up to you to find how to use it ;).


- copying several files into one specific directory:

locate myfiles | clwrap -e cp {} mydir/

- renaming several files:
ls -1 ultra* \
	| clwrap -e "echo -n mv -v {}" -e "echo {} | sed 's/ultra/ /'" \
	| clwrap -e {}

- running a specific line in the shell history:
history | grep "482" | head -n 1 | sed 's/ *[0-9]* *//' | clwrap -v -e {}

- try all tv norms and frequency tables possible combinations with scantv:
cat norm \
	| clwrap -e "cat freq | clwrap -e echo scantv -n {} -f \{\}" \
	| clwrap -e {} > file 2>&1

- reformat source code, after a backup of course:
ls -1 | clwrap -e "cp {} {}.orig && flip -u {} && cat {} \
	| sed 's/^[ \t]*$//;/^$/d' \
	| indent -kr -bad -bap -bbb -sob -i8 -l100 {} -o {}.tmp \
	&& mv {} tmp && mv {}.tmp {}"

nice, isn't it?

have fun!