
Ich habe dieses kleine Skript unten und möchte jedes zweite Ergebnis auf dem Bildschirm ausdrucken. Wie kann ich das machen?
#!/bin/bash
for ((n=5, j=1; j<=9;j++))
do
echo "rez: $n*$j"=$((n*j))
done
Antwort1
Sie können sed
die Ausgabe (eines beliebigen Befehls/Skripts) filtern und jede zweite Zeile drucken und die endgültige Ausgabe mit einem doppelten Leerzeichen versehen:
Drucken Sie nur die Zeilen mit ungeraden Nummern:
command | sed n\;g
nur Zeilen mit geraden Nummern drucken:
command | sed g\;n
Befehlkann seinfor ... done
Antwort2
#! /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