Say you want to do something with the output of a program but would like to prepend some output/text that also needs to be operated on. The standard idiom would be to create a file with the prepended output, append your output to this and then operate on the file, but you can remove the intermediate files using a subshell. Here's a contrived example:
> (echo -e "some\toutput\tto\tappend"; perl -lane 'print join("\t", log($F[0])/log(10), @F[1 .. #$F])';) | a2ps
Something else I use subshells for a lot is to launch programs in a different directory without having to
cd
there and then back again:
> (cd ~/workspace/; eclipse &)
like I said; it's the little things.
No comments:
Post a Comment