Page 1 of 1

How to connect two shell commands using pipes?

Posted: Mon May 11, 2009 12:03 pm
by ale870
Hello,

i wanted to make a newLisp app to grab data from an extsting proces. Example:

>> ls /usr/share | grep init
initramfs-tools
initrd-tools
initscripts


As you can see, in the first line I used a "pipe" to connect "ls" command with "grep".
How can I get data input from shell pipe using newLisp (like grep in the previous case)? How can I send data output to shell pipe using newLisp (like ls in the previous case)?


thank you.

Posted: Mon May 11, 2009 12:46 pm
by Lutz
Look for the sections about pipes and filters here:

http://www.newlisp.org/CodePatterns.html#scripts

we.g. with this program named 'upper'

Code: Select all

#!/usr/bin/newlisp

(while (read-line) (println (upper-case (current-line))))

(exit)
you could do:

Code: Select all

ls | ./upper
and would get an uppercase directory listing