Каковы некоторые другие причины нахождения процесса в состоянии D, кроме выполнения операций ввода-вывода?

Простейший код grep , который будет работать:

grep -xE '([^,]*,){10}[^,]*'

Объяснение:

-x гарантирует, что шаблон должен соответствовать вся строка , а не ее часть. Это важно, чтобы вы не сопоставляли строки с более чем 10 запятыми.

-E означает «расширенное регулярное выражение», что позволяет избежать обратного слэша в вашем регулярном выражении.

Круглые скобки используются для группировки, а {10} после этого означает, что должно быть ровно десять совпадений в строке шаблона в скобках.

[^,] - это класс символов. Например, [cf] будет соответствовать любому одиночному символу, который a c , a d , an e или f , и [^ AZ] будут соответствовать любому одиночный символ, НЕ являющийся прописной буквой. Итак, [^,] соответствует любому одиночному символу, кроме запятой.

* после класса символов означает «ноль или более из них».

Таким образом, часть регулярного выражения ([^,] *,) означает «Любой символ, кроме запятая любое количество раз (включая ноль), за которой следует запятая ", а {10} указывает 10 из них. Затем [^,] * , чтобы сопоставить остальные символы, отличные от запятой, до конца строки.

0
27.10.2018, 08:05
1 ответ
for folder in $(seq 1 100);do mkdir $folder;done
2
28.01.2020, 02:23

Теги

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