CSH foreachループまたはforループで、20のステップで10から1000に増加するループイテレーターまたはカウンターを追加するにはどうすればよいですか?
foreach i (1..20..5)
またはfor (i=1;i<20;i++)
のようなもの。
seq
コマンドがある場合は、次を使用できます。
foreach i (`seq 1 5 20`)
... body ...
end
seq
がない場合は、@ csjの回答に基づいたバージョンを次に示します。
@ i = 1
while ($i <= 20)
... body ...
@ i += 5
end
私がオンラインで見つけたドキュメントは、forループが利用できないことを示しているようです。ただし、whileループは使用できます。私は実際にはcshを知らないので、以下は私が読んだものに基づいた概算です。
set i = 10
while ($i <= 1000)
# commands...
set i = $i + 20
end
または、exprを使用できます。以下は私のために働いた(tcshではあるがcshは同じでなければならない):
% set n=0
% foreach x (`ls $A*`)
foreach? set n=`expr $n + 1`
foreach? echo $n
foreach? end
出力は12 34などです