
Имеем этот маленький скрипт внизу и хотим выводить на экран каждый второй результат. Каковы способы сделать это?
#!/bin/bash
for ((n=5, j=1; j<=9;j++))
do
echo "rez: $n*$j"=$((n*j))
done
решение1
Вы можете использовать sed
для фильтрации вывода (любой команды/скрипта) и печати каждой второй строки и двойного интервала в конечном выводе:
печатать только нечетные строки:
command | sed n\;g
вывести только четные строки:
command | sed g\;n
командавозможноfor ... done
решение2
#! /bin/bash
for ((n=5, j=1; j<=9;j++)); do
if [ $((j%2)) -eq 1 ]; then
echo "rez: $n*$j"=$((n*j))
else
echo
fi
done
rez: 5*1=5
rez: 5*3=15
rez: 5*5=25
rez: 5*7=35
rez: 5*9=45