さっき生まれて初めてseq
コマンドの存在を知ったので。
s1=`seq 0 12`; s2=`seq 3 7` (echo $s1 $s2 | sed -e 's/\s/\n/g' | sort -u; echo $s2 | sed -e 's/\s/\n/g') | sort | uniq -u
むかしこれに近いことするためわざわざpython書いた気がする。確かそんときは 「ランダムな数値をn個欲しいが、ある範囲に含まれる数値は除く」 とかだったので、時を越えて今シェルで実現してやろう。shuf
とhead
を使って、こうじゃ
s1=`seq -20 20`; s2=`seq -5 10` (echo $s1 $s2 | sed -e 's/\s/\n/g' | sort -u; echo $s2 | sed -e 's/\s/\n/g') | sort | uniq -u | shuf | head -5 -11 -6 12 18 -7
参考(理屈がいまいちわからんけど)