Say we have a bunch of text files each containing a column of non-negative numerical values that we want to log-transform (base-10): for i in `ls *.txt`; do echo $i; awk ‘{system(“calc \”log(“$1″ + 1)\” | sed -e \”s/^[\t~]*//\””);}’ $i > $i.transformed; done Slow, but it seems to work in a pinch.