newLISP Fan Club

Forum => newLISP in the real world => Topic started by: ale870 on May 11, 2009, 05:03:59 AM

Title: How to connect two shell commands using pipes?
Post by: ale870 on May 11, 2009, 05:03:59 AM
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.
Title:
Post by: Lutz on May 11, 2009, 05:46:08 AM
Look for the sections about pipes and filters here:



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



we.g. with this program named 'upper'


#!/usr/bin/newlisp

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

(exit)


you could do:


ls | ./upper

and would get an uppercase directory listing