2010-09-25 3 views

ответ

4

Выражение диапазона формы расширения скобки используется вместо seq в for цикли:

for i in {1..100} 
do 
    something # 100 times 
done 
2

Например, сделайте резервную копию всех файлов в каталоге:

for i in * ; do 
    cp "$i"{,.bak} 
done 
+0

Это не может работать. –

+0

Извините, переехал {, .bak} вне цитируемой части. была опечатка. – Benoit

+0

Хорошо, это имеет больше смысла. На самом деле я до сих пор не понимал, что компоненты пути не должны существовать. –

0

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

ls src/{Debug,Release}/*.o # List all .o files in the Debug and Release directories. 
2

В Баше, вы используете расширение скобки, если вы хотите создать диапазон, например,

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.

Смежные вопросы