ファイル名に "_"を含む特定の種類のファイルの数を見つけようとします。
foreach txt ( 'ls *.txt')
set n=0
if(grep _ txt) then
@ n = n+1
endif
end
ifステートメントが正しくないため、うまくいきませんが、txtファイルのファイル名に "_"があることを確認してから、nを1ずつ増やすように定義する方法がわかりません。
ベストアンサー1
1つの方法は、grepの代わりにシェルのglobbing機能を使用することです。
set n=0
foreach txt (*_*.txt)
@ n++
end
他の理由で必要な場合、「if grep」構文は次のとおりです。
if ( { grep -q _ $var } ) then
...
endif
(-q
grepに静かにして何も印刷しないように指示します。)