Используя awk
, мне нужно найти слово в файле, которое соответствует шаблону регулярного выражения.
Я только хочу , чтобы напечатать слово совпадающего с шаблоном.
Итак, если в строке у меня есть:
xxx yyy zzz
И узор:
/yyy/
Я хочу получить только:
yyy
РЕДАКТИРОВАТЬ: благодаря Куруми мне удалось написать что-то вроде этого:
awk '{
for(i=1; i<=NF; i++) {
tmp=match($i, /[0-9]..?.?[^A-Za-z0-9]/)
if(tmp) {
print $i
}
}
}' $1
и это то, что мне было нужно :) большое спасибо!
tmp=match($i, /regexp);if(tmp){}
, вы просто должны уметь это делать, if(tmp ~ $i){}
потому что ~
означает «соответствует регулярному выражению».