Eu tenho uma matriz de strings chamada names
contendo nomes com alguns dados de lixo subsequentes. Assim
Jill Shortz, City Contractor, America
Bill Torts, Family Doctor, Canada
Will Courtz, Folk DJ, Bulgaria
Phil-Lip Warts, Juggler, India
Eu quero iterar names
extraindo apenas as duas primeiras palavras com o regex (^\w+-*( *\w+)*)
e substituindo-as de volta para names
que ele contenha
Jill Shortz
Bill Torts
Will Courtz
Phil-Lip Warts
foi assim que tentei, mas minha máquina AIX não gosta do -P
argumento para executar no modo Perl
for((i=0;i<${#names[@]};++i)); do
names[$i]=`grep -P '(^\w+-*( *\w+)*)' -o <<<"${names[i]}"`
done