From: Einar Jørgen Haraldseid <einar.haraldseid@ntnu.no> Date: Fri, 9 May 2025 12:16:06 +0000 (+0200) Subject: Script for å generere tilfeldige navn som er mer eller mindre realistiske X-Git-Url: https://git.slaskete.net/einar-bin/commitdiff_plain/refs/heads/master?ds=sidebyside Script for å generere tilfeldige navn som er mer eller mindre realistiske --- diff --git a/generer-navneliste.sh b/generer-navneliste.sh new file mode 100755 index 0000000..257e765 --- /dev/null +++ b/generer-navneliste.sh @@ -0,0 +1,770 @@ +#!/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