Правильный пакет для установки iostat
будет sysstat
. Итак, если вы запустите:
zypper in sysstat iotop
, будут установлены инструменты iostat
и iotop
.
В любом случае, вы получаете сообщение об ошибке, что вы (виртуально) не вставили DVD (образ) продукта в виртуальную машину.
Ваша проблема (ИМХО) лучше решается с помощью awk
, но я просто укажу на проблему с вашей командой
grep -E '^.{10}$'| grep 'a*.e*.i*.o*.u*' words2.txt
Для фильтрации содержимого файла word2.txt
через оба вызова grep
, это должно выглядеть так:
grep -E '^.{10}$' words2.txt | grep 'a*.e*.i*.o*.u*'
Второй шаблон grep
должен быть [auoie]{3}
, который приводит нас к
grep -E '^.{10}$' words2.txt | grep -E '[aouie]{3}'
. Входными данными для первого grep
является ваш файл. Входные данные для второго grep
— это выходные данные первого grep
, не вашего файла.
Использование POSIX awk
(например, последние версии GNU awk
):
$ awk 'length == 10 && /[aouei]{3}/' words2.txt
unpervious
unplebeian
unportuous
unprecious
unquailing
unqueening
unquieting
unquietude
mawk
, BSD awk
и исторические реализации до POSIX из awk
не поддерживают {n}
в регулярных выражениях, как указал Стефан Шазела.
Вы правильно указали 10 символов, но чтобы найти 3 гласных подряд, ищите группу [AEIOU]
:
egrep '^.{10}$' | egrep -i '[AEIOU]{3}'
Чтобы отбросить whitepace, используйте следующее:
egrep '^[^ \t]{10}$' | egrep -i '[AEIOu]{3}'
С grep
, созданным с поддержкой PCRE:
grep -iPx '(?=.*[aeiou]{3}.*).{10}'
Или:
grep -wiP '(?=\w*[aeiou]{3}\w*)\w{10}'
для поиска этих слов, если они не по одному в строке (добавьте -o
, если ваш grep
позволяет печатать только совпадающие слова, а не всю строку, в которой они находятся). Здесь слово означает любую последовательность из слова символов (буквы (в латинском алфавите, только без диакритических знаков, добавьте (*UCP)
для букв любого алфавита, хотя это по-прежнему не распространяется на гласные, такие как é
или α
), цифры и подчеркивание).
Предположим, что 1 слово/строка, вы можете сделать это:
sed -nE '/^.{10}$/!d;/[aAeEiIoOuU]{3}/p' words.txt