如何將每隔一行列印到顯示器上

如何將每隔一行列印到顯示器上

將這個小腳本放在下面,並希望將所有其他結果列印到螢幕上。有哪些方法可以實現呢?

#!/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

相關內容