Как найти кратное число в массиве в bash? - PullRequest
0 голосов
/ 02 апреля 2020

Я пишу сценарий bash, который проходит через числа от 1 до 50, и мне нужно вывести каждое число, кроме чисел, кратных 4 (например, 4, 8, 12 ..). Я попытался использовать пример из аналогичного вопроса, который просит вывести тот же массив за исключением определенных чисел.

В прилагаемом коде моя программа будет выводить каждое число, кроме 3.

    #!/bin/bash
LIMIT=49
echo "Printing multiples of 4 from 1 - 50: "
a=0
while [ $a -le $LIMIT ];do
    a=$(($a+1))
    if [$a -eq 3]
    then 
        continue
    fi
    echo -n "$a"
done

Как мне изменить оператор IF для вывода желаемого сценария?

1 Ответ

1 голос
/ 02 апреля 2020
for num in {0..50}; do
  if (( num % 4 )); then 
    echo $num
  fi
done

Это не так кратко, как версия sed, но показывает, как этого добиться только с bash встроенными модулями.

...