SAMESTR="ThisIsTheSameString" #Same String for uniq
|
|
readonly SAMESTR
|
|
|
|
##
|
|
# Get random integar between 1 and 100
|
|
##
|
|
function getRandomName(){
|
|
rnd=`expr $RANDOM % 64 + 1`
|
|
return $rnd
|
|
}
|
|
|
|
##
|
|
# Get random string, first parametar is length
|
|
##
|
|
function getRandomString(){
|
|
openssl rand -base64 $1
|
|
}
|
|
|
|
function generate(){
|
|
size=500
|
|
i=0
|
|
while(( $i < $size ))
|
|
do
|
|
getRandomName
|
|
length=$?
|
|
#echo "START"
|
|
if [[ $length -ge 1 && $length -le 25 ]]
|
|
then
|
|
echo $SAMESTR
|
|
else
|
|
echo `getRandomString $length`
|
|
fi
|
|
let "i++"
|
|
done
|
|
}
|
|
|
|
function sortByASCII(){
|
|
generate | sort | uniq -u
|
|
}
|
|
|
|
function sortByNumeric(){
|
|
generate | sort --numeric-sort | uniq -u
|
|
}
|
|
|
|
echo "Overwrite lines:" > resultASCII #this line should not appear in output file
|
|
sortByASCII > resultASCII
|
|
echo "Append lines:" >> resultASCII #this line should appear in output file
|
|
sortByASCII >> resultASCII
|
|
|
|
echo "Overwrite lines:" > resultNumeric #this line should not appear in output file
|
|
sortByNumeric > resultNumeric
|
|
echo "Append lines:" >> resultNumeric #this line should appear in output file
|
|
sortByNumeric >> resultNumeric
|
|
|
|
echo "Number of same string in file:"
|
|
generate > randomLines
|
|
grep --only-matching $SAMESTR < randomLines | wc --lines
|