So drucken Sie jede zweite Zeile auf dem Monitor aus

So drucken Sie jede zweite Zeile auf dem Monitor aus

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 seddie 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

verwandte Informationen