
Tenha este pequeno script abaixo e queira imprimir na tela todos os outros resultados. Quais são as maneiras de fazer isso?
#!/bin/bash
for ((n=5, j=1; j<=9;j++))
do
echo "rez: $n*$j"=$((n*j))
done
Responder1
Você pode usar sed
para filtrar a saída (de qualquer comando/script) e imprimir linhas alternadas e espaçar duas vezes a saída final:
imprimir apenas linhas ímpares:
command | sed n\;g
imprima apenas linhas pares:
command | sed g\;n
comandopode serfor ... done
Responder2
#! /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