Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Foreach loop through subdirectories in csh Post 302910709 by saleheen on Sunday 27th of July 2014 02:38:37 PM
Old 07-27-2014
Foreach loop through subdirectories in csh

Hi

You might find it very trivial but actually don't know how to loop through all sub-directories and their child directories into a csh. bash was easier I believe but here I am, stuck with csh. So elaborately here's my problem:
Let's say I have my parent directory named C-H/ under which I have C2H3O1/, C2H4O1/...let's say under C2H3O1/ I have several subdirectories like CH2CH2OH/, CH3CH2O/, CH3CHOH/. Inside each sub-directories I have several child directories likeVAS-S0001-001-Ru_001/,VAS-S0001-002-Ru_001/,VAS-S0001-003-Ru_001/. Inside all of them reside OPT-0/, OPT-1/ inside which my job input files and job scripts reside. I wrote a script that I'd like to run inside each child directory that modifies some input files and submits the job. I would like to run my script one time under C-H that'll go through each directory and submit my job.

Here's the silly thing that I have:
Code:
#!/bin/csh
set dir=`*/*/*/*/`
foreach $dir
 /scratch/scratchdirs/sol/Scripts/QMcalc/GEN_POSCAR
end

I know I'm doing something very very wrong, I don't have a counter for the foreach but how do I set that since the number of directories might be different for different cases? Thanks a lot!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Foreach loop

What am I doing wrong with this foreach loop? foreach var ($argv) @sum = $sum + $var (4 Replies)
Discussion started by: haze21
4 Replies

2. Shell Programming and Scripting

foreach loop

Hi Guys, I have a loop which uses a wildcard i.e. foreach f (*) but when I execute the tcsh file in unix then it gives me an error ->>>>>>>foreach: words not parenthesized<<<<<<<<<<- Any help. (1 Reply)
Discussion started by: abch624
1 Replies

3. Shell Programming and Scripting

foreach loop

Hi everyone Does anyone know what is wrong with this script. i keep getting errors foreach filename (`cat testing1`) set string=$filename set depth=`echo "$string" echo $depth end the error is the following testing: line 1: syntax error near unexpected token `(' testing: line 1:... (3 Replies)
Discussion started by: ROOZ
3 Replies

4. Shell Programming and Scripting

foreach in csh

I have a foreach loop in a csh script and I noticed that it tries to find the files with the pattern *$searchpt* in the file name. I'm confused as I never specified checking for the files. foreach f ( *$searchpt* ) set fnew = `echo $f | awk -v searchpat=$searchpt \ ... (1 Reply)
Discussion started by: kristinu
1 Replies

5. Shell Programming and Scripting

How to loop(Iterate) through List with foreach(csh)

Hey all,, I know cshell is harmful:) but I am using this just "to know" - for educational purposes!... not for a long-term use. lets say i have a list.. set arr=(x y z e f) I wanna iterate the list with foreach ,, not with while.!! foreach i $arr echo $i end does not work (2 Replies)
Discussion started by: eawedat
2 Replies

6. UNIX for Dummies Questions & Answers

Foreach loop that skips the header line of a file (csh)

Hello all, I'm working on a foreach loop to compare a couple sets of data. However, each datafile includes a header row. I'm wondering if it is possible to tell the foreach loop to skip the first line of data. I've been using the basic code as follows: foreach line ("`file.csv`") set... (2 Replies)
Discussion started by: meteorologistks
2 Replies

7. UNIX for Dummies Questions & Answers

Using the Foreach loop, Needing help

I am trying to make a script for my Counter-Strike: Source servers. What i am wanting it to do is for it to restart each server, the only way i can think of doing this in through for each. Years what i have at the moment. server_start() { START=`ps x | grep SCREEN | grep $SRV | cut -d '?' -f... (5 Replies)
Discussion started by: grahamn95
5 Replies

8. Shell Programming and Scripting

foreach loop problem

Dear all, I wrote a script to download files and move files in directories according to their name. Now here is the problem: Both p101 and p360 data download successfully, but when I move them according to the year and month, only p101 data can be placed at the right location, p360,... (1 Reply)
Discussion started by: handsonzhao
1 Replies

9. UNIX for Dummies Questions & Answers

foreach loop in csh

Hi everyone I'm new to unix and encountered a small problem i couldnt find out a reason why it doesn't work..please help.. in my csh script when i tried to use the foreach loop like this: foreach x ( ls ) echo $x end when i tried to run it, it printed out 'ls' to the std out instead of... (3 Replies)
Discussion started by: ymc1g11
3 Replies

10. Shell Programming and Scripting

Foreach: Words not parenthesized. csh

Just started shell scripting for the first time today :D Can anyone tell me why I get the error "foreach: Words not parenthesized." for my following code? The program takes in a list of arguments. foreach card ($argv) echo Hello end (3 Replies)
Discussion started by: pkuebler
3 Replies
psiclean(1)															       psiclean(1)

NAME
psiclean - delete files in the PSI temporary directories DESCRIPTION
The psiclean command finds a job name by scanning the input file for a keyword assignment of the form DEFAULT:FILES:DEFAULT:NAME = string It then goes through all of the machine's temporary directories and deletes all files of the form string.*. In previous versions of psi- clean , temporary directories were assumed to be of the form /tmp[0-9]/$user In this version of psiclean , we get the names of the temporary directories from the user input file by looking for volume paths of the form DEFAULT:FILES:DEFAULT:VOLUMEi = string It is essential that users see to the removal of their scratch files as soon as their job completes, because temporary directories are usu- ally a shared resource and there is not necessarily an automatic way for files to be deleted from these areas. Thus, the last command run after a job has finished should be the psiclean command. The user must take care to follow certain conventions when choosing filenames. Any files which are to be kept after a job completes should not be kept in the default temporary directories. The FILES input must be used to specify other locations for the specific files which are to be kept. psiclean will ignore files which are specifically listed by number (e.g., PSIF_CHKPT ) in the FILES section. Files which are not needed after the run should use the default path given in the input file. Otherwise, these files will remain on the system and will impede other jobs. EXAMPLE
Suppose the PSI temporary directories contained the following subdirectories and files: /tmp1/cpuhog: -rw-r--r-- 1 cpuhog 14492 Jun 11 16:48 dicubane.30 -rw-r--r-- 1 cpuhog 187320 Jun 8 17:20 diketene.34 -rw-r--r-- 1 cpuhog 16384 Jun 7 19:17 o4big.30 -rw-r--r-- 1 cpuhog 16384 Jun 7 19:17 o4.30 -rw-r--r-- 1 cpuhog 974848 Jun 7 18:41 o4.34 /tmp2/cpuhog: -rw-r--r-- 1 cpuhog 14492 Jun 11 16:48 dicubane.30 -rw-r--r-- 1 cpuhog 187320 Jun 8 17:20 diketene.34 -rw-r--r-- 1 cpuhog 10904 Jun 7 18:50 o4big.30 -rw-r--r-- 1 cpuhog 10904 Jun 7 18:50 o4.30 -rw-r--r-- 1 cpuhog 973752 Jun 7 18:41 o4.34 /tmp3/cpuhog: -rw-r--r-- 1 cpuhog 14492 Jun 11 16:48 dicubane.30 -rw-r--r-- 1 cpuhog 187320 Jun 8 17:20 diketene.34 -rw-r--r-- 1 cpuhog 8192 Jun 7 19:17 o4big.30 -rw-r--r-- 1 cpuhog 8192 Jun 7 19:17 o4.30 -rw-r--r-- 1 cpuhog 966656 Jun 7 18:41 o4.34 Let's also say that the user cpuhog is in a directory which contains an input file which has the following line in it: DEFAULT:FILES:DEFAULT:NAME = "o4" If the user cpuhog now executes the psiclean command, then the o4 files in the temporary directories would be deleted, leaving the follow- ing files: /tmp1/cpuhog: -rw-r--r-- 1 cpuhog 14492 Jun 11 16:48 dicubane.30 -rw-r--r-- 1 cpuhog 187320 Jun 8 17:20 diketene.34 -rw-r--r-- 1 cpuhog 16384 Jun 7 19:17 o4big.30 /tmp2/cpuhog: -rw-r--r-- 1 cpuhog 14492 Jun 11 16:48 dicubane.30 -rw-r--r-- 1 cpuhog 187320 Jun 8 17:20 diketene.34 -rw-r--r-- 1 cpuhog 10904 Jun 7 18:50 o4big.30 /tmp3/cpuhog: -rw-r--r-- 1 cpuhog 14492 Jun 11 16:48 dicubane.30 -rw-r--r-- 1 cpuhog 187320 Jun 8 17:20 diketene.34 -rw-r--r-- 1 cpuhog 8192 Jun 7 19:17 o4big.30 AUTHOR
C. David Sherrill <sherrill@alum.mit.edu> Psi Version 3.0 29 July, 1999 psiclean(1)
All times are GMT -4. The time now is 03:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy