Цикл без раскрытия фигурных скобок

Посетите https://www.youtube.com/html5?

у вас будет что-то вроде:

enter image description here

1) Откройте браузер Firefox и введите в адресной строке следующее:

about:config

Может появиться страница с предупреждением, в которой говорится: «Это может привести к аннулированию гарантии!». Нажмите "Я буду осторожен, обещаю!" чтобы перейти на страницу about: config.

2) Введите слово: media.fragmented-mp4 в текстовом поле фильтра. 5 параметров отключены. Оставьте последний параметр false и дважды щелкните остальные 4, чтобы измените его значение на true.

3) Введите media.mediasource в текстовое поле фильтра и установите для всех значений значение true.

Перезапустите firfox и посетите https://www.youtube.com / html5?

вы получите что-то вроде:

enter image description here

1
12.03.2019, 03:03
2 ответа

Лучше использовать jotкак прокомментировано. Вот (не очень красивая)awkреализация.

#!/usr/bin/awk -f
BEGIN{
    for(i=1;i<5;i++)
        for(j=97;j<100;j++)
            printf "%s%d%c ",ENVIRON["HOME"],i,j;                               
    print;
}

или (вы также можете использовать опцию -vв awkдля назначения переменных оболочки переменным awk)

#!/bin/bash
awk -f /dev/fd/3 3<< EOF                                                                                                                                                                                    
BEGIN{
    for(i=1;i<5;i++)
        for(j=97;j<100;j++)
            printf "$HOME%d%c ",i,j;
    print;
}
EOF
0
28.01.2020, 00:19

Если вы уверены, что запускаете bash, возможно, раскрытие фигурных скобок не включено.

Проверьте это с помощью

echo $-
himBHs

В используемой мной оболочке установлен параметр B, указывающий, что раскрытие фигурных скобок включено.

Вы можете установить расширение фигурной скобки с помощью одной из этих команд:

set -o braceexpand
set -B

В этом случае мне не нужно перебирать буквы или цифры:

echo {1..5}{a..c}
1a 1b 1c 2a 2b 2c 3a 3b 3c 4a 4b 4c 5a 5b 5c

или отключите его с помощью

set +o braceexpand
set +B

ведет к

echo {1..5}{a..c}
{1..5}{a..c}
0
28.01.2020, 00:19

Теги

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