Perform test whether a number is a prime using command-line factor
utility.
Check the number 809
.
$ factor 809 | awk 'NF==2 { check="is a" } NF>2 { check="is not a" } { print $1 " " check " prime number" }'
809: is a prime number
Check the range of numbers between 30200
and 30225
.
$ factor $(seq 30200 30225) | awk 'NF==2 { check="is a" } NF>2 { check="is not a" } { print $1 " " check " prime number" }'
30200: is not a prime number 30201: is not a prime number 30202: is not a prime number 30203: is a prime number 30204: is not a prime number 30205: is not a prime number 30206: is not a prime number 30207: is not a prime number 30208: is not a prime number 30209: is not a prime number 30210: is not a prime number 30211: is a prime number 30212: is not a prime number 30213: is not a prime number 30214: is not a prime number 30215: is not a prime number 30216: is not a prime number 30217: is not a prime number 30218: is not a prime number 30219: is not a prime number 30220: is not a prime number 30221: is not a prime number 30222: is not a prime number 30223: is a prime number 30224: is not a prime number 30225: is not a prime number
Display primes in the range of numbers between 100
and 120
.
$ factor $(seq 100 120) | awk 'NF==2 { print substr($1, 1, length($1)-1) }'
101 103 107 109 113
Display primes in the range of numbers between 1
and 10
using for
loop.
$ for i in $(seq 1 10); do factor $i | awk 'NF==2 { print substr($1, 1, length($1)-1) }'; done
This is the slowest solution and susceptible to the situation in which you can exceed command length, so I suggest to use previous ones.