# For loop in tcsh

1. Jul 14, 2008

### ehrenfest

Is it possible to do a for loop at the command line over all files in a given directory using the tcsh shell? I want to loop over all files and apply some commands (e.g. sed) to each one.

EDIT: I called it a "for" loop because I saw a "for" command when I googled this problem but of course I just want to loop over all the files

2. Jul 14, 2008

### D H

Staff Emeritus
Yes. It's called foreach.

This will invoke the command 'do_something_to' on each .c file in the current directory:
Code (Text):
foreach f (*.c)
do_something_to $f end I often use foreach in conjunction with the backtick operator. This will invoke the command 'do_something_to' on every .c file anywhere in the directory tree headed by the current directory: Code (Text): foreach f (find . -name '*.c') do_something_to$f
end
The find command can of course do the above directly by using find's -exec option.