In CSH foreach loop or for loop, how can I add a loop iterator or counter which increases from 10 to 1000 with steps of 20?
Something like foreach i (1..20..5)
or for (i=1;i<20;i++)
.
In CSH foreach loop or for loop, how can I add a loop iterator or counter which increases from 10 to 1000 with steps of 20?
Something like foreach i (1..20..5)
or for (i=1;i<20;i++)
.
If you have the seq
command, you can use:
foreach i (`seq 1 5 20`)
... body ...
end
If you don't have seq
, here is a version based on @csj's answer:
@ i = 1
while ($i <= 20)
... body ...
@ i += 5
end
Any documentation I've found online seems to indictate no for loop is available. However, the while loop can be used. I don't actually know csh, so the following is approximate based on what I read:
set i = 10
while ($i <= 1000)
# commands...
set i = $i + 20
end
@ i = 1
and @ i = $i + 1
–
Anglican Or you can use expr. the following worked for me (in tcsh but csh should be the same):
% set n=0
% foreach x (`ls $A*`)
foreach? set n=`expr $n + 1`
foreach? echo $n
foreach? end
output is 1 2 3 4 etc
© 2022 - 2024 — McMap. All rights reserved.
jot - 1 20 5
– Anglican