То же как выше (если я понимаю право, что Вы хотите сделать, который является):
sed -e '/Y\{100\}/d'
Это соответствует всем строкам, содержащим 100 Y подряд, и удаляет их.
Видите ли, как Вы говорите, это [116218]условное [116219] присваивание. Она зависит от условий. Синтаксис работает следующим образом:
Я не верю, что вы используете это правильно.
apt-get install manpages-dev
?:[116539] используется следующее:
условие ? value_if_true : value_if_false
Условие вычисляется как булевское выражение true или false. На основе вычисления булева условия целое выражение возвращает значение_if_true, если условие истинно, но значение_if_false иначе. Обычно два подвыражения value_if_true и value_if_false должны иметь один и тот же тип, который определяет тип всего выражения. Важность такой проверки типа заключается в наиболее распространенном использовании оператора в условных операторах присваивания. При таком использовании в качестве выражения, расположенного справа от оператора присваивания, оно выглядит следующим образом:
dpkg-reconfigure ubuntu-desktop
переменная = условие ? value_if_true : value_if_false
Оператор [116544]?:[116545] аналогичен тому, как условные выражения ([116546]if-then-else[116547]) работают в функциональных языках программирования, таких как Scheme, ML, Haskell, так как if-then-else формирует выражение вместо оператора в этих языках.
В любом случае, это не имеет большого значения, так как я не думаю, что это делает то, что Вы думаете. [115876]
Тернарные операторы возвращают значение на основе теста. Они не используются для разветвления.
Вот один из способов получить псевдотроичный оператор для bash (обратите внимание на обратные галочки):
$ result = `[
] && echo" true-result "|| echo "ложный результат" `
$ a =
$ c =` [$ a] && echo 1 || echo 0`
$ echo $ c
0
$ a = 5
$ c = `[$ a] && echo 1 || echo 0`
$ echo $ c
1