Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim

  • 6 odgovora
  • 2.752 pregleda

Najnovija ↓

Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim 24.05.2019. u 15:30 · pre 90 meseci #1
Pozdarav forumaši,
nisam našao odgovarajući forum za moje pitanje pa sam ga odlučio postaviti ovdje jer koristim linux.
Dakle imam fajl sa listom riječi pa bih volio da uklonim riječi koje imaju 2 ili više istih slova jedano za drugim, na pr imam
Code:

forum
topic
reklamu
imee
sugestija
sliccicca

izlazni fajl bi trebalo da bude
Code:

forum
topic
reklamu
sugestija

Kako mogu ovo da postignem u linuxu ?
Srdačan pozdrav
Potpis
vidovic-slobodan.blogspot.com
Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim 17.07.2019. u 17:27 · pre 88 meseci #5
Citat:
Tpojka: Pripazi se ako ti je bitno da to uradiš samo za alpha characters, da ne izbaciš neplanski `topic22`.
U tom slučaju (.) bi trebalo zamijeniti sa [:alpha:]
Evo i ostalih regulativa.



Odgovor od člana "djoka_I" funkcioniše besprekorno i u pravu ste izostavlja i reč gde se pojavljuje cifra, međutim ovo Vaše rešenje apsolutno ne radi u "Bash-u"?
Potpis
Druže Tito skrenuli smo s puta, sad nas jebe i Kurta i Murta
Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim 18.07.2019. u 07:26 · pre 88 meseci #6
Treba samo tačka (koja predstavlja bilo koji karakter) da se zameni sa [[:alpha:]] klasom karakera, zagrade () ostaju da zabeleže karakter koji odgovara regularnom izrazu u numerisanu grupu, koja može ponovo da se upotrebi sa \broj, ili u ovom slučaju \1 kao prva grupa. Dakle, pomenuti regex traži bilo koji karakter praćen sa jednim ili više (+) istim tim karakterom.
Code:
sed -E '/([[:alpha:]])\1+/d' <inputfile >outputfile

Kao što možeš da vidiš iz primera, koristimo [] da definišemo set karaktera, u ovom slučaju alfabetskih. Pomoću [] možemo da definišemo i opseg karaktera, na primer:
Code:
sed -E '/([a-zA-Z])\1+/d'  <inputfile >outputfile

Mala i velika slova od a do z, slično kao [:alpha:].
Sviđa mi se1
Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim 18.07.2019. u 20:15 · pre 88 meseci #7
Citat:
Panta_: Treba samo tačka (koja predstavlja bilo koji karakter) da se zameni sa [[:alpha:]] klasom karakera, zagrade () ostaju da zabeleže karakter koji odgovara regularnom izrazu u numerisanu grupu, koja može ponovo da se upotrebi sa \broj, ili u ovom slučaju \1 kao prva grupa. Dakle, pomenuti regex traži bilo koji karakter praćen sa jednim ili više (+) istim tim karakterom.
Code:
sed -E '/([[:alpha:]])\1+/d' <inputfile >outputfile

Kao što možeš da vidiš iz primera, koristimo [] da definišemo set karaktera, u ovom slučaju alfabetskih. Pomoću [] možemo da definišemo i opseg karaktera, na primer:
Code:
sed -E '/([a-zA-Z])\1+/d'  <inputfile >outputfile

Mala i velika slova od a do z, slično kao [:alpha:].


To je to. Radi i jedan i drugi primer. Hvala na odgovoru.
Potpis
Druže Tito skrenuli smo s puta, sad nas jebe i Kurta i Murta
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme