Hi Christos, > $ tr FBLR 0101 < 5.input # or cat 5.input | tr FBLR 0101
This could be (pipe (in "5.input" (out '(tr "FBLR" "0101") (echo)) ) (make (until (eof) (and (line T) (link @)) ) ) ) > And finally I want to add one more preprocessing step, sorting, like > $ tr FBLR 0101 < 5.input | sort # or cat 5.input | tr FBLR 0101 | sort This is indeed quite ugly: (pipe (pipe (in "5.input" (out '(tr "FBLR" "0101") (echo)) ) (out '(sort) (echo)) ) (make (until (eof) (and (line T) (link @)) ) ) ) > I have not come very far. I know that using (in ... ) I can replace > the file "5.input" with '(cat "5.input") and get the same result, but Right. > instead the attempt to replace i > t with e.g. '(tr "FBLR" "0101" "<" "5.input") fails with: This does not work, because "<" is a built-in operator of the Shell, not an argument to the 'tr' process. So, in such cases of complicated pipes and redirections, why not call the shell directly? After all, it is specialized for such purposes ;) (in '(sh "-c" "tr FBLR 0101 < 5.input | sort") (make (until (eof) (and (line T) (link @)) ) ) ) ☺/ A!ex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe