Nix вечно копирует файл из кеша

Немного упрощенная версия ответа awk:

awk '{ for (i=1; i<=NF; i++) if ($i !~ /\./) $i = ""; print; }'

Для каждого слова, если оно не содержит точку, вычеркнуть его. Затем распечатайте то, что осталось.


Перечитав вопрос, я вижу, что в нем говорится «каждое слово… которое не имеет точки в середине его ». Так, например, ввод

Mr. Smith ate.5 pies in New York.

не должен выводить ничего, потому что нет слова с точкой в середине. Напротив,

Mr.Smith ate 1.5 pies in New York.

следует указать Mr.Smith и  1.5. Таким образом, команда должна быть

awk '{ for (i=1; i<=NF; i++) if ($i !~ /.\../) $i = ""; print; }'

Для каждого слова, если оно не содержит точки, по крайней мере с одним другим символом перед ним и после него, затереть слово.

0
10.08.2021, 12:05
0 ответов

Теги

Похожие вопросы