我有一个字符串数组,称为names
包含名称和一些后续垃圾数据。像这样
Jill Shortz, City Contractor, America
Bill Torts, Family Doctor, Canada
Will Courtz, Folk DJ, Bulgaria
Phil-Lip Warts, Juggler, India
我想通过names
使用正则表达式仅提取前两个单词(^\w+-*( *\w+)*)
并将它们覆盖回进行迭代,names
以便包含
Jill Shortz
Bill Torts
Will Courtz
Phil-Lip Warts
这就是我尝试的方式,但我的 AIX 机器不喜欢-P
在 Perl 模式下执行的参数
for((i=0;i<${#names[@]};++i)); do
names[$i]=`grep -P '(^\w+-*( *\w+)*)' -o <<<"${names[i]}"`
done