Вот один из способов:
#!/bin/tcsh -f
set array = ( foo pam bar pom baz xpam pamx )
alias dosomething echo
foreach elem ($array:q)
if ($elem:q =~ {pam,pom}*) then
dosomething $elem:q
endif
end
Обратите внимание, что выражение в правой части оператора =~
является шаблоном сопоставления файлов, а не регулярным выражением, поэтому это решение не распространяется на все случаи. Если вам нужно сопоставить регулярное выражение, вы можете использовать команду expr
:
expr STRING : REGEXP
или, что эквивалентно:
expr match STRING REGEXP