如何将每隔一行打印到显示器上

如何将每隔一行打印到显示器上

将这个小脚本放在下面,并希望将所有其他结果打印到屏幕上。有哪些方法可以实现呢?

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

相关内容