#!/bin/bash
# Lag kommaseparert liste med tilfeldige for- og etternavn
# Generatoren lager alltid étt etternavn, med eller uten bindestrek

# Generer så mange som det er bedt om, eller kun ett navn hvis det ikke er oppgitt et gyldig antall
Reg='^[0-9]+$'
if ! [[ ${1} =~ ${Reg} ]]; then
  Antall=1
else
  Antall=${1}
fi

echo "Fornavn,Etternavn"

while [ "${Antall}" -gt 0 ]; do
  # Arrayer med kvinnelige og mannlige fornavn, og etternavn
  Fornavn_F=(
    'Ada'
    'Agnes'
    'Aiko'
    'Aina'
    'Akira'
    'Alexis'
    'Alice'
    'Alma'
    'Amalie'
    'Amanda'
    'Amelia'
    'Andrea'
    'Ane'
    'Anette'
    'Anita'
    'Anja'
    'Ann'
    'Anna'
    'Anne'
    'Anneli'
    'Anniken'
    'April'
    'Aslaug'
    'Astrid'
    'Aud'
    'Aurora'
    'Ava'
    'Beate'
    'Benedicte'
    'Bente'
    'Berit'
    'Birgit'
    'Bjørg'
    'Bodil'
    'Bridget'
    'Brit'
    'Britt'
    'Buffy'
    'Camilla'
    'Caroline'
    'Cathrine'
    'Cecilia'
    'Cecilie'
    'Celine'
    'Charlotte'
    'Chen'
    'Chloe'
    'Christina'
    'Christine'
    'Dagny'
    'Desdemona'
    'Desiderata'
    'Donjetë'
    'Ebba'
    'Egwene'
    'Eirin'
    'Eli'
    'Elin'
    'Eline'
    'Elisabeth'
    'Elise'
    'Elisha'
    'Ella'
    'Ellen'
    'Ellinor'
    'Elsa'
    'Else'
    'Emilie'
    'Emily'
    'Emma'
    'Esmerelda'
    'Eva'
    'Farah'
    'Freya'
    'Frida'
    'Gerd'
    'Grace'
    'Greta'
    'Grete'
    'Grethe'
    'Gro'
    'Gry'
    'Gunhild'
    'Gunn'
    'Gunvor'
    'Guro'
    'Hanna'
    'Hannah'
    'Hanne'
    'Hedda'
    'Hege'
    'Heidi'
    'Helene'
    'Helga'
    'Helle'
    'Henriette'
    'Hermine'
    'Hilde'
    'Ida'
    'Ina'
    'Inga'
    'Ingebjørg'
    'Ingeborg'
    'Inger'
    'Ingrid'
    'Ingunn'
    'Ingvild'
    'Irene'
    'Isabella'
    'Iselin'
    'Jade'
    'Jane'
    'Janne'
    'Jeanette'
    'Jenny'
    'Johanne'
    'Jorun'
    'Jorunn'
    'Julia'
    'Julie'
    'June'
    'Kaja'
    'Kajsa'
    'Karen'
    'Kari'
    'Karianne'
    'Karin'
    'Karina'
    'Karoline'
    'Kathrine'
    'Katrine'
    'Kim'
    'Kirsten'
    'Kirsti'
    'Kjersti'
    'Kristin'
    'Kristina'
    'Kristine'
    'Laila'
    'Leah'
    'Lena'
    'Lene'
    'Lill'
    'Lillian'
    'Lilly'
    'Lily'
    'Lina'
    'Linda'
    'Line'
    'Linn'
    'Linnea'
    'Lisa'
    'Lisbeth'
    'Lise'
    'Liv'
    'Live'
    'Lorelai'
    'Lucy'
    'Magnhild'
    'Magrat'
    'Maja'
    'Malene'
    'Malin'
    'Maren'
    'Margit'
    'Margrethe'
    'Mari'
    'Maria'
    'Mariann'
    'Marianne'
    'Marie'
    'Mariko'
    'Marit'
    'Marita'
    'Marta'
    'Marte'
    'Marthe'
    'Martine'
    'Mary'
    'Mathilde'
    'May'
    'Merete'
    'Mia'
    'Min'
    'Mina'
    'Miriam'
    'Mona'
    'Monica'
    'Monika'
    'Natasja'
    'Nessa'
    'Nina'
    'Nora'
    'Oda'
    'Olaug'
    'Olga'
    'Oline'
    'Olivia'
    'Paulina'
    'Pauline'
    'Pernille'
    'Petra'
    'Pia'
    'Ragna'
    'Ragnhild'
    'Randi'
    'Regine'
    'Reidun'
    'Renate'
    'Rigmor'
    'Rikke'
    'Rita'
    'Riwa'
    'Rosa'
    'Ruth'
    'Saga'
    'Sandra'
    'Sara'
    'Sarah'
    'Selma'
    'Signe'
    'Sigrid'
    'Silje'
    'Siri'
    'Sissel'
    'Siv'
    'Sofia'
    'Sofie'
    'Solfrid'
    'Solveig'
    'Sonja'
    'Sophie'
    'Stine'
    'Sunniva'
    'Susanne'
    'Süeda'
    'Synne'
    'Synnøve'
    'Sølvi'
    'Thea'
    'Therese'
    'Thora'
    'Tina'
    'Tiril'
    'Tone'
    'Tonje'
    'Torhild'
    'Toril'
    'Torill'
    'Torunn'
    'Tove'
    'Trine'
    'Trude'
    'Turid'
    'Una'
    'Unni'
    'Valeria'
    'Veronica'
    'Victoria'
    'Vigdis'
    'Vilde'
    'Vilja'
    'Vilma'
    'Wenche'
    'Willow'
    'Yuki'
    'Zoe'
    'Åse'
    'Aase'
    'Åshild'
  )

  Fornavn_M=(
    'Abdinasir'
    'Adrian'
    'Ahmed'
    'Aksel'
    'Alexander'
    'Alf'
    'Alfred'
    'Alv'
    'Amund'
    'Amunder'
    'Anders'
    'Andre'
    'Andreas'
    'Anton'
    'Arne'
    'Arthur'
    'August'
    'Awet'
    'Axel'
    'Benjamin'
    'Benjaminn'
    'Birk'
    'Bjarne'
    'Bjarte'
    'Bjørn'
    'Brumund'
    'Børre'
    'Bård'
    'Carl'
    'Charles'
    'Christoffer'
    'Dag'
    'Daniel'
    'David'
    'Dennis'
    'Edvin'
    'Edward'
    'Egil'
    'Eigil'
    'Einar'
    'Eivind'
    'Elias'
    'Emil'
    'Erik'
    'Ernst'
    'Eskil'
    'Espen'
    'Even'
    'Farzad'
    'Federico'
    'Felix'
    'Filip'
    'Finn'
    'Frank'
    'Fredrik'
    'Frode'
    'Gabriel'
    'Gandalf'
    'Gaus'
    'Gaute'
    'Geir'
    'George'
    'Gisle'
    'Gudmund'
    'Gunnar'
    'Hall'
    'Hallvard'
    'Halvor'
    'Hans'
    'Harald'
    'Helge'
    'Henrik'
    'Henry'
    'Håkon'
    'Haakon'
    'Hårek'
    'Håvard'
    'Inge'
    'Isak'
    'Ivar'
    'Iver'
    'Jack'
    'Jacob'
    'Jahn'
    'Jakob'
    'James'
    'Jan'
    'Jens'
    'Joakim'
    'Johan'
    'Johannes'
    'John'
    'Jon'
    'Jonas'
    'Jonathan'
    'Julian'
    'Jørgen'
    'Jørn'
    'Kark'
    'Karl'
    'Kennet'
    'Kenneth'
    'Kim'
    'Kjartan'
    'Kjell'
    'Klemet'
    'Knut'
    'Kolbjørn'
    'Kristian'
    'Kristoffer'
    'Lambert'
    'Lars'
    'Lasse'
    'Leif'
    'Leiv'
    'Leon'
    'Liam'
    'Lucas'
    'Ludvig'
    'Ludvik'
    'Mads'
    'Magne'
    'Magnus'
    'Marcus'
    'Marius'
    'Martin'
    'Mathias'
    'Matias'
    'Matt'
    'Mattias'
    'Michael'
    'Mohammed'
    'Morten'
    'Muhammed'
    'Nicolai'
    'Nikolai'
    'Nils'
    'Noah'
    'Odd'
    'Oddmund'
    'Oddvar'
    'Odin'
    'Ola'
    'Ole'
    'Oliver'
    'Oscar'
    'Oskar'
    'Ozzy'
    'Patrick'
    'Paul'
    'Peder'
    'Per'
    'Peter'
    'Petter'
    'Pål'
    'Rand'
    'Rasmus'
    'Reidar'
    'Rein'
    'Reiulf'
    'Richard'
    'Roar'
    'Robert'
    'Robin'
    'Rolf'
    'Roms'
    'Rune'
    'Samim'
    'Sander'
    'Sebastian'
    'Sigurd'
    'Sigve'
    'Simen'
    'Simon'
    'Sindre'
    'Stein'
    'Stian'
    'Svein'
    'Sven'
    'Sverre'
    'Terje'
    'Theodor'
    'Thomas'
    'Thor'
    'Tobias'
    'Tomas'
    'Tommy'
    'Tonny'
    'Tor'
    'Torben'
    'Torbjørn'
    'Trent'
    'Trond'
    'Tryggve'
    'Trygve'
    'Ulf'
    'Vagn'
    'Valentin'
    'Vegard'
    'Vetle'
    'Vidar'
    'Viktor'
    'Viljar'
    'William'
    'Xander'
    'Yngvar'
    'Yngve'
    'Øystein'
    'Øyvind'
    'Åge'
  )

  Etternavn_A=(
    'Abrahamsen'
    'Ahmed'
    'Ali'
    'Alstad'
    'Amundsen'
    'Andersen'
    'Andersson'
    'Andreassen'
    'Antonsen'
    'Arnesen'
    'Askeland'
    'Aune'
    'Bakke'
    'Bakken'
    'Balle'
    'Barlund'
    'Behrns'
    'Berg'
    'Bergersen'
    'Berglund'
    'Bergman'
    'Bergström'
    'Bjerke'
    'Bjornstad'
    'Bjørk'
    'Blom'
    'Borgen'
    'Bratland'
    'Bratt'
    'Breivik'
    'Brenden'
    'Bru'
    'Brun'
    'Brynulfsen'
    'Bråten'
    'Braaten'
    'Bråthen'
    'Bugge'
    'Bø'
    'Bøe'
    'Carlsen'
    'Christensen'
    'Christiansen'
    'Cohen'
    'Dahl'
    'Dahlberg'
    'Dal'
    'Dalen'
    'Danielsen'
    'Davidsen'
    'Dybvik'
    'Eide'
    'Eikeland'
    'Eliassen'
    'Ellingsen'
    'Eng'
    'Engen'
    'Enger'
    'Eriksen'
    'Espeland'
    'Fernandez'
    'Fjeld'
    'Fjeldet'
    'Fjell'
    'Flaten'
    'Flood'
    'Foss'
    'Fossum'
    'Fredheim'
    'Fredriksen'
    'Frøyland'
    'Furulund'
    'Gabrielsen'
    'Garcia'
    'Gjerde'
    'Gjertsen'
    'Gonzalez'
    'Gran'
    'Grindheim'
    'Gulbrandsen'
    'Gundersen'
    'Gustavsen'
    'Hagen'
    'Halvorsen'
    'Hammer'
    'Hansen'
    'Haraldseid'
    'Haug'
    'Haugen'
    'Haugland'
    'Haugsrud'
    'Hegge'
    'Hellevik'
    'Henriksen'
    'Hermansen'
    'Hjelle'
    'Hol'
    'Holm'
    'Holmberg'
    'Holter'
    'Hov'
    'Hovland'
    'Husemoen'
    'Høyland'
    'Haaland'
    'Ivanov'
    'Iversen'
    'Jacobsen'
    'Jakobsen'
    'Jamtli'
    'Jensen'
    'Johannessen'
    'Johansen'
    'Johansson'
    'Johnsen'
    'Jørstad'
    'Karlsen'
    'Karlsson'
    'Kim'
    'Kjeldsen'
    'Kjellevold'
    'Kjos'
    'Kleppe'
    'Kleven'
    'Knudsen'
    'Knutsen'
    'Kolstad'
    'Korsvold'
    'Kristensen'
    'Kristiansen'
    'Krogstad'
    'Kvam'
    'Langseth'
    'Larsen'
    'Lee'
    'Lie'
    'Lien'
    'Lindberg'
    'Lindholm'
    'Lopez'
    'Lund'
    'Lundberg'
    'Lunde'
    'Lundeberg'
    'Løkken'
    'Madsen'
    'Martinez'
    'Mo'
    'Moe'
    'Moen'
    'Mohammed'
    'Murstad'
    'Myhre'
    'Nes'
    'Nguyen'
    'Nilsen'
    'Nordheim'
    'Nygård'
    'Nystrøm'
    'Olofsson'
    'Olsen'
    'Patel'
    'Pedersen'
    'Rasmussen'
    'Reinsborg'
    'Rodriguez'
    'Roland'
    'Rønning'
    'Rønningen'
    'Sand'
    'Sandvik'
    'Singh'
    'Skog'
    'Solberg'
    'Stene'
    'Stensrud'
    'Strand'
    'Svensson'
    'Sveum'
    'Sæter'
    'Sørensen'
    'Sørheim'
    'Tangen'
    'Trohaug'
    'Tronæs'
    'Tveit'
    'Vang'
    'Vik'
    'Viken'
    'Wang'
    'Yilmaz'
    'Ødegård'
    'Ødegaard'
    'Aas'
    'Aasen'
    'Åsheim'
    'Aasland'
  )

  # Finner størrelsen på arrayene
  Fornavn_F_N=${#Fornavn_F[@]}
  Fornavn_M_N=${#Fornavn_M[@]}
  Etternavn_A_N=${#Etternavn_A[@]}

  # Finn ut om vi plukke ut en kvinnelig eller mannlig navn
  Kjonn=$((RANDOM % 2))

  # Finn ut om vi vil ha dobbelt fornavn, 1/7 får det
  Dobbel_Fornavn=$((RANDOM % 7))

  # Hvis dobbelt fornavn så skal 1/10 av dem ha bindestrek
  if [ ${Dobbel_Fornavn} == 0 ]; then
    if [ $((RANDOM % 10)) == 0 ]; then
      Fornavn_Skilletegn="-"
    else
      Fornavn_Skilletegn=" "
    fi
  fi

  # Finn ut om vi vil ha dobbelt etternavn, 1/10 får det
  Dobbel_Etternavn=$((RANDOM % 10))

  # Hvis dobbelt etternavn så skal 1/8 av dem ha bindestrek
  if [ ${Dobbel_Etternavn} == 0 ]; then
    if [ $((RANDOM % 8)) == 0 ]; then
      Etternavn_Skilletegn="-"
    else
      Etternavn_Skilletegn=" "
    fi
  fi

  if [ ${Kjonn} == 0 ]; then
    Fornavn_F_I=$((RANDOM % Fornavn_F_N))
    Fornavn=${Fornavn_F[Fornavn_F_I]}
    if [ ${Dobbel_Fornavn} == 0 ]; then
      Fornavn_F=("${Fornavn_F[@]/${Fornavn}}")
      ((Fornavn_F_N--))
      Fornavn_F_I=$((RANDOM % Fornavn_F_N))
      Fornavn="${Fornavn}${Fornavn_Skilletegn}${Fornavn_F[Fornavn_F_I]}"
    fi
  else
    Fornavn_M_I=$((RANDOM % Fornavn_M_N))
    Fornavn=${Fornavn_M[Fornavn_M_I]}
    if [ ${Dobbel_Fornavn} == 0 ]; then
      Fornavn_M=("${Fornavn_M[@]/${Fornavn}}")
      ((Fornavn_M_N--))
      Fornavn_M_I=$((RANDOM % Fornavn_M_N))
      Fornavn="${Fornavn}${Fornavn_Skilletegn}${Fornavn_M[Fornavn_M_I]}"
    fi
  fi

  Etternavn_A_I=$((RANDOM % Etternavn_A_N))
  Etternavn=${Etternavn_A[Etternavn_A_I]}
  if [ ${Dobbel_Etternavn} == 0 ]; then
    Etternavn_A=("${Etternavn_A[@]/${Etternavn}}")
    ((Fornavn_A_N--))
    Etternavn_A_I=$((RANDOM % Etternavn_A_N))
    if [ "$Etternavn_Skilletegn" == "-" ]; then
      Etternavn="${Etternavn}${Etternavn_Skilletegn}${Etternavn_A[Etternavn_A_I]}"
    else
      Fornavn="${Fornavn}${Etternavn_Skilletegn}${Etternavn_A[Etternavn_A_I]}"
    fi
  fi

  echo "${Fornavn},${Etternavn}"
  ((Antall--))
done
