Linux DevCenter    
 Published on Linux DevCenter (
 See this if you're having trouble printing code examples

Unix Power Tools
Standard Input to a for Loop

by Jerry Peek

An obvious place to use a Bourne shell for loop is to step through a list of arguments -- from the command line or a variable. But combine the loop with backquotes and cat, and the loop will step through the words on standard input.

Here's an example:

for x in `cat`
    ...handle $x     

Because this method splits the input into separate words, no matter how many words are on each input line, it can be more convenient than a while loop running the read command. When you use this script interactively though, the loop won't start running until you've typed all of the input; using while read will run the loop after each line of input.

Back More Unix Power Tools


Copyright © 2009 O'Reilly Media, Inc.