
下記の小さなスクリプトを使用して、1 回おきに結果を画面に出力したいのですが、その方法は何ですか?
#!/bin/bash
for ((n=5, j=1; j<=9;j++))
do
echo "rez: $n*$j"=$((n*j))
done
答え1
sed
出力(任意のコマンド/スクリプト)をフィルタリングし、1行おきに出力して最終出力をダブルスペースにするには、次のようにします。
奇数行のみを出力します。
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