Можно ли перебирать последовательность букв и цифр длиннее одного символа в цикле linux?

Согласно первой строке вывода вы получаете (" redirecting to..." ), вы используете systemd, поэтому многие старые команды SysV не будут работать.

Используйте systemctlдля управления службами systemd.

Чтобы остановить cron, вам нужно дать команду:systemctl stop crond.service. Если вы хотите отключить его, выполните:systemctl disable crond.service.

Дополнительную информацию об управлении юнитами systemd см. в man systemctl.

1
10.12.2019, 09:28
2 ответа
for string in {A..Z}{A..Z}{A..Z}; do
    # use "$string" here
done

Этот цикл повторится 17576 раз (26 *26 *26 раз ).

Чтобы создать все заполненные нулями -числа между 000и 999, вы можете использовать {000..999}в bashверсии 4 или более поздней.

В более ранних версиях bashвы, возможно, захотите использовать тот же метод, что и в цикле выше.

Или вы можете использовать

for number in {0..999}; do
    printf -v znumber '%.3d' "$number"

    # use "$znumber" here
done

где znumberсоздается с помощью формата printf, который явно нулем -заполняет целое число до трех позиций из $number.

2
27.01.2020, 23:22

Добавьте еще два расширения:

$ printf "%s\n" {a..z}{a..z}{a..z} | head -n 5
aaa
aab
aac
aad
aae
$ printf "%s\n" {a..z}{a..z}{a..z} | tail -n 5
zzv
zzw
zzx
zzy
zzz

Bash поддерживает расширение чисел с дополнением:

$ printf "%s\n" {000..999}  | head -n 5
000
001
002
003
004
1
27.01.2020, 23:22

Теги

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