Tråd bedømmelse:
  • 0 Stemmer - 0 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Sortere på .dk ?
26-01-2019, 11:58
#1
Sortere på .dk ?
Hvis jeg gerne vil hive alle danske mails ud af Collection samlingerne, hvordan gør jeg det så ?
Jeg sidder og prøver med Grep funktionen, men selve søgningen virker ikke optimalt.
Prøver jeg med dette:
grep .dk file.txt
få jeg vist alle mails med dk og ikke .dk Jeg har prøvet med [.dk] (.dk) og meget mere, men uden held. Hvad mangler jeg for at den tager . med i .dk søgningen ?
Find alle beskeder fra denne bruger
Citer denne besked i et svar
26-01-2019, 12:37 (Denne besked var sidst ændret: 26-01-2019, 12:38 af zacko.)
#2
RE: Sortere på .dk ?
Kender ikke til grep. Men hvis det er regex så skriv et backslash før punktsum. "\.dk". I regex angiver et punkt alle symboler. Et backslash og et punkt angiver netop blot et punktum.
Find alle beskeder fra denne bruger
Citer denne besked i et svar
26-01-2019, 12:46
#3
RE: Sortere på .dk ?
Hvis du skal bruge grep til sådan en opgave, så bør du lave en regex, som kan finde dine matches udfra de kriterier du sætter op.
Nu er jeg langt fra regex guru, men det kunne være noget ala ([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+.dk)

Med grep bruger du så grep -E ([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+.dk) file.txt
Find alle beskeder fra denne bruger
Citer denne besked i et svar
26-01-2019, 13:03
#4
RE: Sortere på .dk ?
Tak for svarene

Jeg har kun brugt regex meget få gange så jeg har glemt det hele igen.

Jeg havde prøvet /.dk men ikke \.dk :)
Find alle beskeder fra denne bruger
Citer denne besked i et svar
26-01-2019, 13:05
#5
RE: Sortere på .dk ?
Det her er en god hjemmeside, hvis du er ny til regex. Det var mit go-to, og er det stadig, når jeg skal bruge regex.
https://regexr.com/
Find alle beskeder fra denne bruger
Citer denne besked i et svar
26-01-2019, 13:16 (Denne besked var sidst ændret: 26-01-2019, 13:59 af PowerString.)
#6
RE: Sortere på .dk ?
(26-01-2019, 13:05)zacko Skrev: Det her er en god hjemmeside, hvis du er ny til regex. Det var mit go-to, og er det stadig, når jeg skal bruge regex.
https://regexr.com/

Jeg kom også forbi den i min søgen, men der gik lidt tid før jeg fandt ud af at jeg kunne prøve mig frem i det øverste tekstfelt :)

(26-01-2019, 12:38)BigJ Skrev:
$ cat myfile.txt 
some@email.com
someotherdk@email.org
realguy@fdsf.dk
fjkdlsjfs@dfjkdslfs.dk
somedk@email.org

$ grep "\.dk" myfile.txt
realguy@fdsf.dk
fjkdlsjfs@dfjkdslfs.dk

Tak. "\.dk" virker fint :)

(26-01-2019, 12:46)r2Ed Skrev: Hvis du skal bruge grep til sådan en opgave, så bør du lave en regex, som kan finde dine matches udfra de kriterier du sætter op.
Nu er jeg langt fra regex guru, men det kunne være noget ala ([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+.dk)

Med grep bruger du så grep -E ([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+.dk) file.txt

Den giver mig en fejl når jeg kører din kode : bash: syntax error near unexpected token `('

Jeg kan simpelthen ikke gennemskue hvad der er af fejl.
Find alle beskeder fra denne bruger
Citer denne besked i et svar
26-01-2019, 14:18
#7
RE: Sortere på .dk ?
(26-01-2019, 13:16)Sp2005 Skrev: Jeg kom også forbi den i min søgen, men der gik lidt tid før jeg fandt ud af at jeg kunne prøve mig frem i det øverste tekstfelt :)


Tak. "\.dk" virker fint :)


Den giver mig en fejl når jeg kører din kode : bash: syntax error near unexpected token `('

Jeg kan simpelthen ikke gennemskue hvad der er af fejl.

grep -E "([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+.dk)" file.txt

Sæt det i quotation.
Find alle beskeder fra denne bruger
Citer denne besked i et svar
26-01-2019, 14:46 (Denne besked var sidst ændret: 26-01-2019, 14:50 af PowerString.)
#8
RE: Sortere på .dk ?
(26-01-2019, 14:18)faenomenologisk Skrev: grep -E "([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+.dk)" file.txt

Sæt det i quotation.

Det virker...næsten. Den kræver bare at der står dk efter @. Så den finder combos som denne dhananjay_verma03@hotmail.co.uk;dkv06d

Jeg prøvede så med denne - men det virker heller ikke

grep -E "([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+"\.dk")" file.txt
Find alle beskeder fra denne bruger
Citer denne besked i et svar
27-01-2019, 00:29
#9
RE: Sortere på .dk ?
(26-01-2019, 15:43)BigJ Skrev: Hvorfor gøre det så skide kompliceret? Vi skal ikke validate en skid, vi skal FINDE e-mails i noget som burde være validated i forvejen anyways.
Følgende sikre sig bare, der er et `.dk` bagefter et `@`.

$ cat myfile.txt 
some@email.com
someotherdk@email.org
realguy@fdsf.dk
fjkdlsjfs@dfjkdslfs.dk
somedk@email.org
fdsfemail.dk

$ grep -E "@.+\.dk" myfile.txt
realguy@fdsf.dk
fjkdlsjfs@dfjkdslfs.dk

Jeg er enig. Hvis det kun er en liste over emails og ".dk" er det sidste på linjen, kan du også i stedet bare bruge \.dk$.
Jeg kan anbefale at kigge på et cheatsheet hvis du sidder fast med en regex på et andet tidspunkt, der ville du også kunne se at punktum skal escapes med en backslash :)
Har haft denne liggende i min skuffe på papir i et par år indtil det sad på rygraden: https://www.cheatography.com/davechild/c...pressions/
Mangler du hjælp?
Regler |  E-mail (PGP)
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)