Может ли кто-нибудь помочь мне понять, что означает эта команда «найти» с фигурными скобками?

Одно базовое решение с использованием grep. Не выполняет подробный аспект проверки даты, вместо этого просто проверяет его числовое значение.

if ls|grep -vE '^[0-9]{3}-[0-9]{8}-[0-9]{8}\.pdf$'; then
    echo some bogus files found
else
    echo all good
fi
0
19.06.2019, 22:24
1 ответ

Обратная косая черта является escape-символом. (Указание оболочке интерпретировать следующий символ буквально ). Как вы поняли, они не нужны. Оболочка одинаково расширит две команды.

Кто-то, вероятно, думал, что они необходимы из-за того, что фигурные скобки были зарезервированным словом, или просто хотел быть в безопасности. Однако раскрытие фигурных скобок не произойдет, если в фигурных скобках нет допустимого шаблона, а группировка команд не будет предпринята, если нет списка команд с пробелами между фигурными скобками.

Сами фигурные скобки в контексте команды find/ execбудут заменяться каждым возвращаемым именем файла.

2
28.01.2020, 02:30

Теги

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