Script for å generere tilfeldige navn som er mer eller mindre realistiske
[einar-bin] / generer-navneliste.sh
1 #!/bin/bash
2 # Lag kommaseparert liste med tilfeldige for- og etternavn
3 # Generatoren lager alltid étt etternavn, med eller uten bindestrek
4
5 # Generer så mange som det er bedt om, eller kun ett navn hvis det ikke er oppgitt et gyldig antall
6 Reg='^[0-9]+$'
7 if ! [[ ${1} =~ ${Reg} ]]; then
8 Antall=1
9 else
10 Antall=${1}
11 fi
12
13 echo "Fornavn,Etternavn"
14
15 while [ "${Antall}" -gt 0 ]; do
16 # Arrayer med kvinnelige og mannlige fornavn, og etternavn
17 Fornavn_F=(
18 'Ada'
19 'Agnes'
20 'Aiko'
21 'Aina'
22 'Akira'
23 'Alexis'
24 'Alice'
25 'Alma'
26 'Amalie'
27 'Amanda'
28 'Amelia'
29 'Andrea'
30 'Ane'
31 'Anette'
32 'Anita'
33 'Anja'
34 'Ann'
35 'Anna'
36 'Anne'
37 'Anneli'
38 'Anniken'
39 'April'
40 'Aslaug'
41 'Astrid'
42 'Aud'
43 'Aurora'
44 'Ava'
45 'Beate'
46 'Benedicte'
47 'Bente'
48 'Berit'
49 'Birgit'
50 'Bjørg'
51 'Bodil'
52 'Bridget'
53 'Brit'
54 'Britt'
55 'Buffy'
56 'Camilla'
57 'Caroline'
58 'Cathrine'
59 'Cecilia'
60 'Cecilie'
61 'Celine'
62 'Charlotte'
63 'Chen'
64 'Chloe'
65 'Christina'
66 'Christine'
67 'Dagny'
68 'Desdemona'
69 'Desiderata'
70 'Donjetë'
71 'Ebba'
72 'Egwene'
73 'Eirin'
74 'Eli'
75 'Elin'
76 'Eline'
77 'Elisabeth'
78 'Elise'
79 'Elisha'
80 'Ella'
81 'Ellen'
82 'Ellinor'
83 'Elsa'
84 'Else'
85 'Emilie'
86 'Emily'
87 'Emma'
88 'Esmerelda'
89 'Eva'
90 'Farah'
91 'Freya'
92 'Frida'
93 'Gerd'
94 'Grace'
95 'Greta'
96 'Grete'
97 'Grethe'
98 'Gro'
99 'Gry'
100 'Gunhild'
101 'Gunn'
102 'Gunvor'
103 'Guro'
104 'Hanna'
105 'Hannah'
106 'Hanne'
107 'Hedda'
108 'Hege'
109 'Heidi'
110 'Helene'
111 'Helga'
112 'Helle'
113 'Henriette'
114 'Hermine'
115 'Hilde'
116 'Ida'
117 'Ina'
118 'Inga'
119 'Ingebjørg'
120 'Ingeborg'
121 'Inger'
122 'Ingrid'
123 'Ingunn'
124 'Ingvild'
125 'Irene'
126 'Isabella'
127 'Iselin'
128 'Jade'
129 'Jane'
130 'Janne'
131 'Jeanette'
132 'Jenny'
133 'Johanne'
134 'Jorun'
135 'Jorunn'
136 'Julia'
137 'Julie'
138 'June'
139 'Kaja'
140 'Kajsa'
141 'Karen'
142 'Kari'
143 'Karianne'
144 'Karin'
145 'Karina'
146 'Karoline'
147 'Kathrine'
148 'Katrine'
149 'Kim'
150 'Kirsten'
151 'Kirsti'
152 'Kjersti'
153 'Kristin'
154 'Kristina'
155 'Kristine'
156 'Laila'
157 'Leah'
158 'Lena'
159 'Lene'
160 'Lill'
161 'Lillian'
162 'Lilly'
163 'Lily'
164 'Lina'
165 'Linda'
166 'Line'
167 'Linn'
168 'Linnea'
169 'Lisa'
170 'Lisbeth'
171 'Lise'
172 'Liv'
173 'Live'
174 'Lorelai'
175 'Lucy'
176 'Magnhild'
177 'Magrat'
178 'Maja'
179 'Malene'
180 'Malin'
181 'Maren'
182 'Margit'
183 'Margrethe'
184 'Mari'
185 'Maria'
186 'Mariann'
187 'Marianne'
188 'Marie'
189 'Mariko'
190 'Marit'
191 'Marita'
192 'Marta'
193 'Marte'
194 'Marthe'
195 'Martine'
196 'Mary'
197 'Mathilde'
198 'May'
199 'Merete'
200 'Mia'
201 'Min'
202 'Mina'
203 'Miriam'
204 'Mona'
205 'Monica'
206 'Monika'
207 'Natasja'
208 'Nessa'
209 'Nina'
210 'Nora'
211 'Oda'
212 'Olaug'
213 'Olga'
214 'Oline'
215 'Olivia'
216 'Paulina'
217 'Pauline'
218 'Pernille'
219 'Petra'
220 'Pia'
221 'Ragna'
222 'Ragnhild'
223 'Randi'
224 'Regine'
225 'Reidun'
226 'Renate'
227 'Rigmor'
228 'Rikke'
229 'Rita'
230 'Riwa'
231 'Rosa'
232 'Ruth'
233 'Saga'
234 'Sandra'
235 'Sara'
236 'Sarah'
237 'Selma'
238 'Signe'
239 'Sigrid'
240 'Silje'
241 'Siri'
242 'Sissel'
243 'Siv'
244 'Sofia'
245 'Sofie'
246 'Solfrid'
247 'Solveig'
248 'Sonja'
249 'Sophie'
250 'Stine'
251 'Sunniva'
252 'Susanne'
253 'Süeda'
254 'Synne'
255 'Synnøve'
256 'Sølvi'
257 'Thea'
258 'Therese'
259 'Thora'
260 'Tina'
261 'Tiril'
262 'Tone'
263 'Tonje'
264 'Torhild'
265 'Toril'
266 'Torill'
267 'Torunn'
268 'Tove'
269 'Trine'
270 'Trude'
271 'Turid'
272 'Una'
273 'Unni'
274 'Valeria'
275 'Veronica'
276 'Victoria'
277 'Vigdis'
278 'Vilde'
279 'Vilja'
280 'Vilma'
281 'Wenche'
282 'Willow'
283 'Yuki'
284 'Zoe'
285 'Åse'
286 'Aase'
287 'Åshild'
288 )
289
290 Fornavn_M=(
291 'Abdinasir'
292 'Adrian'
293 'Ahmed'
294 'Aksel'
295 'Alexander'
296 'Alf'
297 'Alfred'
298 'Alv'
299 'Amund'
300 'Amunder'
301 'Anders'
302 'Andre'
303 'Andreas'
304 'Anton'
305 'Arne'
306 'Arthur'
307 'August'
308 'Awet'
309 'Axel'
310 'Benjamin'
311 'Benjaminn'
312 'Birk'
313 'Bjarne'
314 'Bjarte'
315 'Bjørn'
316 'Brumund'
317 'Børre'
318 'Bård'
319 'Carl'
320 'Charles'
321 'Christoffer'
322 'Dag'
323 'Daniel'
324 'David'
325 'Dennis'
326 'Edvin'
327 'Edward'
328 'Egil'
329 'Eigil'
330 'Einar'
331 'Eivind'
332 'Elias'
333 'Emil'
334 'Erik'
335 'Ernst'
336 'Eskil'
337 'Espen'
338 'Even'
339 'Farzad'
340 'Federico'
341 'Felix'
342 'Filip'
343 'Finn'
344 'Frank'
345 'Fredrik'
346 'Frode'
347 'Gabriel'
348 'Gandalf'
349 'Gaus'
350 'Gaute'
351 'Geir'
352 'George'
353 'Gisle'
354 'Gudmund'
355 'Gunnar'
356 'Hall'
357 'Hallvard'
358 'Halvor'
359 'Hans'
360 'Harald'
361 'Helge'
362 'Henrik'
363 'Henry'
364 'Håkon'
365 'Haakon'
366 'Hårek'
367 'Håvard'
368 'Inge'
369 'Isak'
370 'Ivar'
371 'Iver'
372 'Jack'
373 'Jacob'
374 'Jahn'
375 'Jakob'
376 'James'
377 'Jan'
378 'Jens'
379 'Joakim'
380 'Johan'
381 'Johannes'
382 'John'
383 'Jon'
384 'Jonas'
385 'Jonathan'
386 'Julian'
387 'Jørgen'
388 'Jørn'
389 'Kark'
390 'Karl'
391 'Kennet'
392 'Kenneth'
393 'Kim'
394 'Kjartan'
395 'Kjell'
396 'Klemet'
397 'Knut'
398 'Kolbjørn'
399 'Kristian'
400 'Kristoffer'
401 'Lambert'
402 'Lars'
403 'Lasse'
404 'Leif'
405 'Leiv'
406 'Leon'
407 'Liam'
408 'Lucas'
409 'Ludvig'
410 'Ludvik'
411 'Mads'
412 'Magne'
413 'Magnus'
414 'Marcus'
415 'Marius'
416 'Martin'
417 'Mathias'
418 'Matias'
419 'Matt'
420 'Mattias'
421 'Michael'
422 'Mohammed'
423 'Morten'
424 'Muhammed'
425 'Nicolai'
426 'Nikolai'
427 'Nils'
428 'Noah'
429 'Odd'
430 'Oddmund'
431 'Oddvar'
432 'Odin'
433 'Ola'
434 'Ole'
435 'Oliver'
436 'Oscar'
437 'Oskar'
438 'Ozzy'
439 'Patrick'
440 'Paul'
441 'Peder'
442 'Per'
443 'Peter'
444 'Petter'
445 'Pål'
446 'Rand'
447 'Rasmus'
448 'Reidar'
449 'Rein'
450 'Reiulf'
451 'Richard'
452 'Roar'
453 'Robert'
454 'Robin'
455 'Rolf'
456 'Roms'
457 'Rune'
458 'Samim'
459 'Sander'
460 'Sebastian'
461 'Sigurd'
462 'Sigve'
463 'Simen'
464 'Simon'
465 'Sindre'
466 'Stein'
467 'Stian'
468 'Svein'
469 'Sven'
470 'Sverre'
471 'Terje'
472 'Theodor'
473 'Thomas'
474 'Thor'
475 'Tobias'
476 'Tomas'
477 'Tommy'
478 'Tonny'
479 'Tor'
480 'Torben'
481 'Torbjørn'
482 'Trent'
483 'Trond'
484 'Tryggve'
485 'Trygve'
486 'Ulf'
487 'Vagn'
488 'Valentin'
489 'Vegard'
490 'Vetle'
491 'Vidar'
492 'Viktor'
493 'Viljar'
494 'William'
495 'Xander'
496 'Yngvar'
497 'Yngve'
498 'Øystein'
499 'Øyvind'
500 'Åge'
501 )
502
503 Etternavn_A=(
504 'Abrahamsen'
505 'Ahmed'
506 'Ali'
507 'Alstad'
508 'Amundsen'
509 'Andersen'
510 'Andersson'
511 'Andreassen'
512 'Antonsen'
513 'Arnesen'
514 'Askeland'
515 'Aune'
516 'Bakke'
517 'Bakken'
518 'Balle'
519 'Barlund'
520 'Behrns'
521 'Berg'
522 'Bergersen'
523 'Berglund'
524 'Bergman'
525 'Bergström'
526 'Bjerke'
527 'Bjornstad'
528 'Bjørk'
529 'Blom'
530 'Borgen'
531 'Bratland'
532 'Bratt'
533 'Breivik'
534 'Brenden'
535 'Bru'
536 'Brun'
537 'Brynulfsen'
538 'Bråten'
539 'Braaten'
540 'Bråthen'
541 'Bugge'
542 'Bø'
543 'Bøe'
544 'Carlsen'
545 'Christensen'
546 'Christiansen'
547 'Cohen'
548 'Dahl'
549 'Dahlberg'
550 'Dal'
551 'Dalen'
552 'Danielsen'
553 'Davidsen'
554 'Dybvik'
555 'Eide'
556 'Eikeland'
557 'Eliassen'
558 'Ellingsen'
559 'Eng'
560 'Engen'
561 'Enger'
562 'Eriksen'
563 'Espeland'
564 'Fernandez'
565 'Fjeld'
566 'Fjeldet'
567 'Fjell'
568 'Flaten'
569 'Flood'
570 'Foss'
571 'Fossum'
572 'Fredheim'
573 'Fredriksen'
574 'Frøyland'
575 'Furulund'
576 'Gabrielsen'
577 'Garcia'
578 'Gjerde'
579 'Gjertsen'
580 'Gonzalez'
581 'Gran'
582 'Grindheim'
583 'Gulbrandsen'
584 'Gundersen'
585 'Gustavsen'
586 'Hagen'
587 'Halvorsen'
588 'Hammer'
589 'Hansen'
590 'Haraldseid'
591 'Haug'
592 'Haugen'
593 'Haugland'
594 'Haugsrud'
595 'Hegge'
596 'Hellevik'
597 'Henriksen'
598 'Hermansen'
599 'Hjelle'
600 'Hol'
601 'Holm'
602 'Holmberg'
603 'Holter'
604 'Hov'
605 'Hovland'
606 'Husemoen'
607 'Høyland'
608 'Haaland'
609 'Ivanov'
610 'Iversen'
611 'Jacobsen'
612 'Jakobsen'
613 'Jamtli'
614 'Jensen'
615 'Johannessen'
616 'Johansen'
617 'Johansson'
618 'Johnsen'
619 'Jørstad'
620 'Karlsen'
621 'Karlsson'
622 'Kim'
623 'Kjeldsen'
624 'Kjellevold'
625 'Kjos'
626 'Kleppe'
627 'Kleven'
628 'Knudsen'
629 'Knutsen'
630 'Kolstad'
631 'Korsvold'
632 'Kristensen'
633 'Kristiansen'
634 'Krogstad'
635 'Kvam'
636 'Langseth'
637 'Larsen'
638 'Lee'
639 'Lie'
640 'Lien'
641 'Lindberg'
642 'Lindholm'
643 'Lopez'
644 'Lund'
645 'Lundberg'
646 'Lunde'
647 'Lundeberg'
648 'Løkken'
649 'Madsen'
650 'Martinez'
651 'Mo'
652 'Moe'
653 'Moen'
654 'Mohammed'
655 'Murstad'
656 'Myhre'
657 'Nes'
658 'Nguyen'
659 'Nilsen'
660 'Nordheim'
661 'Nygård'
662 'Nystrøm'
663 'Olofsson'
664 'Olsen'
665 'Patel'
666 'Pedersen'
667 'Rasmussen'
668 'Reinsborg'
669 'Rodriguez'
670 'Roland'
671 'Rønning'
672 'Rønningen'
673 'Sand'
674 'Sandvik'
675 'Singh'
676 'Skog'
677 'Solberg'
678 'Stene'
679 'Stensrud'
680 'Strand'
681 'Svensson'
682 'Sveum'
683 'Sæter'
684 'Sørensen'
685 'Sørheim'
686 'Tangen'
687 'Trohaug'
688 'Tronæs'
689 'Tveit'
690 'Vang'
691 'Vik'
692 'Viken'
693 'Wang'
694 'Yilmaz'
695 'Ødegård'
696 'Ødegaard'
697 'Aas'
698 'Aasen'
699 'Åsheim'
700 'Aasland'
701 )
702
703 # Finner størrelsen på arrayene
704 Fornavn_F_N=${#Fornavn_F[@]}
705 Fornavn_M_N=${#Fornavn_M[@]}
706 Etternavn_A_N=${#Etternavn_A[@]}
707
708 # Finn ut om vi plukke ut en kvinnelig eller mannlig navn
709 Kjonn=$((RANDOM % 2))
710
711 # Finn ut om vi vil ha dobbelt fornavn, 1/7 får det
712 Dobbel_Fornavn=$((RANDOM % 7))
713
714 # Hvis dobbelt fornavn så skal 1/10 av dem ha bindestrek
715 if [ ${Dobbel_Fornavn} == 0 ]; then
716 if [ $((RANDOM % 10)) == 0 ]; then
717 Fornavn_Skilletegn="-"
718 else
719 Fornavn_Skilletegn=" "
720 fi
721 fi
722
723 # Finn ut om vi vil ha dobbelt etternavn, 1/10 får det
724 Dobbel_Etternavn=$((RANDOM % 10))
725
726 # Hvis dobbelt etternavn så skal 1/8 av dem ha bindestrek
727 if [ ${Dobbel_Etternavn} == 0 ]; then
728 if [ $((RANDOM % 8)) == 0 ]; then
729 Etternavn_Skilletegn="-"
730 else
731 Etternavn_Skilletegn=" "
732 fi
733 fi
734
735 if [ ${Kjonn} == 0 ]; then
736 Fornavn_F_I=$((RANDOM % Fornavn_F_N))
737 Fornavn=${Fornavn_F[Fornavn_F_I]}
738 if [ ${Dobbel_Fornavn} == 0 ]; then
739 Fornavn_F=("${Fornavn_F[@]/${Fornavn}}")
740 ((Fornavn_F_N--))
741 Fornavn_F_I=$((RANDOM % Fornavn_F_N))
742 Fornavn="${Fornavn}${Fornavn_Skilletegn}${Fornavn_F[Fornavn_F_I]}"
743 fi
744 else
745 Fornavn_M_I=$((RANDOM % Fornavn_M_N))
746 Fornavn=${Fornavn_M[Fornavn_M_I]}
747 if [ ${Dobbel_Fornavn} == 0 ]; then
748 Fornavn_M=("${Fornavn_M[@]/${Fornavn}}")
749 ((Fornavn_M_N--))
750 Fornavn_M_I=$((RANDOM % Fornavn_M_N))
751 Fornavn="${Fornavn}${Fornavn_Skilletegn}${Fornavn_M[Fornavn_M_I]}"
752 fi
753 fi
754
755 Etternavn_A_I=$((RANDOM % Etternavn_A_N))
756 Etternavn=${Etternavn_A[Etternavn_A_I]}
757 if [ ${Dobbel_Etternavn} == 0 ]; then
758 Etternavn_A=("${Etternavn_A[@]/${Etternavn}}")
759 ((Fornavn_A_N--))
760 Etternavn_A_I=$((RANDOM % Etternavn_A_N))
761 if [ "$Etternavn_Skilletegn" == "-" ]; then
762 Etternavn="${Etternavn}${Etternavn_Skilletegn}${Etternavn_A[Etternavn_A_I]}"
763 else
764 Fornavn="${Fornavn}${Etternavn_Skilletegn}${Etternavn_A[Etternavn_A_I]}"
765 fi
766 fi
767
768 echo "${Fornavn},${Etternavn}"
769 ((Antall--))
770 done