入力ファイル、偶数の出力ファイル、奇数の出力ファイルの3つの引数をとります。偶数、奇数、または非数字のファイルの内容をチェックし、適切に管理します。
入力を確認し、数字を適切なファイルに入れることです。 入力に他の数字以外の文字を入れることができます。
最後に、奇数、偶数、およびその他の文字がいくつ見つかったかをユーザーに知らせる必要があります。でものための
1 2 3 4 52
9 2 32
1 2 a
9 2
サンプル出力ファイル:
2 4 52
2 32
2
2
と奇数のサンプル出力ファイル:
1 3
9
1
9
そして、ここでは私の現在のソリューションです:ここで
は、入力ファイルのサンプルです
#!/bin/bash
in=$1
even=$2
odd=$3
regex='^[0-9]+$'
num_even=0
num_odd=0
non_num=0
while read -r line || [[ -n "$line" ]]; do
for number in $line; do
number=`echo "$number" | xargs`
if [[ $number =~ $regex ]]; then
if [[ $(($number % 2)) == 0 ]]; then
printf "$number " >> $even
num_even=$(($num_even+1))
else
printf " $number" >> $odd
num_odd=$(($num_odd+1))
fi
else
non_num=$(($non_num+1))
fi
done
printf "\n" >> $even
printf "\n" >> $odd
done <$in
echo "Even numbers: " $num_even
echo "Odd numbers: " $num_odd
echo "Non num characters: " $non_num
これはうまくいきますが、私はBashにとってとても新しいので、何ができたらいいか分かります。ありがとうございました! :)
質問のこのタイプはcodereview.stackexchange.comためのより適切です。 – chepner
@chepner、ありがとう、私はそのページを知らなかった。 – MuchaZ
私は、特にあなたが出発しているなら、私には見えます。 – kabanus