#!/bin/bash echo > quiz1.txt #quiz1.txtの上に新く書き込む。 for number in dat/*.dat #変数numberにdatディレクトリの中にあるファイルの番号(1〜100)を順に代入していく。 for kazu in dat/*.dat #変数kazuにdatディレクトリの中にあるファイルの番号(1〜100)を順に代入していく。 do diff $number $kazu > /dev/null #$number.datと$kazu.datの2つのファイルを見比べ、diffコマンドの出力する文字列を表示させないようにする。 if [ $? -eq 0 -a "$number" != "$kazu" -a `basename $number .dat` -lt `basename $kazu .dat` ] #もしdiffコマンドの返り値が0かつ、$number.datと$kazu.datが違うファイルであり、さらにファイル名の拡張子(.dat)とディレクトリ(dat/)を取り、 #数字部分を比較したときに数値が$kazuの方が$numberより大きい場合、次のコマンドを実行する。 then answer1=`basename $number` answer2=`basename $kazu` #ディレクトリを外し、answer1を$number.dat、answer2を$kazu.datとおく。 echo "$answer1 $answer2" >> quiz1.txt #$answer1と$answer2をquiz1.txtに表示する。 fi done done