Я понял, что brace expansion есть.
Но я не знаю, где я использую это.Когда вы используете расширение скобки?
Когда вы его используете?
Просьба привести несколько удобных примеров.
Спасибо.
Я понял, что brace expansion есть.
Но я не знаю, где я использую это.Когда вы используете расширение скобки?
Когда вы его используете?
Просьба привести несколько удобных примеров.
Спасибо.
Выражение диапазона формы расширения скобки используется вместо seq
в for
цикли:
for i in {1..100}
do
something # 100 times
done
Например, сделайте резервную копию всех файлов в каталоге:
for i in * ; do
cp "$i"{,.bak}
done
Вы использовать его всякий раз, когда вы хотите, чтобы соответствовать против нескольких вариантов. Например,
ls src/{Debug,Release}/*.o # List all .o files in the Debug and Release directories.
В Баше, вы используете расширение скобки, если вы хотите создать диапазон, например,
for r in {0..100}
for r in {0..10..2}
#with шаг 2
for z in {a..z}
Вместо использования внешних команд, таких как seq 0 100
. Кроме того, расширение списка может использоваться для перечисления типов файлов, например
for file in *.{txt,jpg}
.
Этот список содержит все файлы с расширениями txt и jpg.
Это не может работать. –
Извините, переехал {, .bak} вне цитируемой части. была опечатка. – Benoit
Хорошо, это имеет больше смысла. На самом деле я до сих пор не понимал, что компоненты пути не должны существовать. –