Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

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

[es] :: Linux :: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim

[ Pregleda: 1344 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 321
*.1.mtel.me.



+9 Profil

icon Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim24.05.2019. u 14:30 - pre 41 meseci
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
Signaure Hamer Dev .inc
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3202

Jabber: djoka_l


+1384 Profil

icon Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim24.05.2019. u 15:40 - pre 41 meseci
sed -E '/(.)\1+/d' <inputfile >outputfile


https://www.gnu.org/software/s...rences-and-Subexpressions.html

[Ovu poruku je menjao djoka_l dana 24.05.2019. u 16:50 GMT+1]
 
Odgovor na temu

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 321
*.1.mtel.me.



+9 Profil

icon Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim25.05.2019. u 11:53 - pre 40 meseci
Citat:
djoka_l
sed -E '/(.)\1+/d' <inputfile >outputfile


https://www.gnu.org/software/s...rences-and-Subexpressions.html

[Ovu poruku je menjao djoka_l dana 24.05.2019. u 16:50 GMT+1]


Odlično hvala
Signaure Hamer Dev .inc
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 209

ICQ: 491318095


+33 Profil

icon Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim25.05.2019. u 12:48 - pre 40 meseci
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.
-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

blaki
Kraljevo

Član broj: 9616
Poruke: 379
77.46.139.*

Sajt: Kraljevo


+13 Profil

icon Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim17.07.2019. u 16:27 - pre 39 meseci
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"?

Druže Tito skrenuli smo s puta, sad nas jebe i Kurta i Murta
 
Odgovor na temu

Panta_
Aleksandar Pantić
Kragujevac

Član broj: 214959
Poruke: 745



+147 Profil

icon Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim18.07.2019. u 06:26 - pre 39 meseci
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:].
 
Odgovor na temu

blaki
Kraljevo

Član broj: 9616
Poruke: 379
77.46.139.*

Sajt: Kraljevo


+13 Profil

icon Re: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim18.07.2019. u 19:15 - pre 39 meseci
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.
Druže Tito skrenuli smo s puta, sad nas jebe i Kurta i Murta
 
Odgovor na temu

[es] :: Linux :: Ukloniti riječi iz fajla koje imaju dva ili više slova jedan za drugim

[ Pregleda: 1344 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.