Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Estrazione domini indirizzi email
#1
ho una lista di mail su un file txt e vorrei cancellare tramite prompt dei comandi tutti i nomi utente che precedono la chiocciola e la chiocciola stessa lasciando solo i domini, gli indirizzi sono tanti. Come faccio? E' possibile? Grazie anticipato.
Edit: ovviamente accetto consigli sui comandi da dare su terminale linux, sempre che ciò sia fattibile altrimenti ci rinuncio.
Cita messaggio
Grazie da:
#2
Codice:
awk 'BEGIN{FS="@"}{printf("\n %-20s ",$2)}' inputfile.txt >> outputfile.txt

Ovviamente, vale la regola d'oro: farsi un backuppino prima di tutto.
La stringa aggiunge in fondo a outputfile.txt le operazioni fatte su ogni inputfile.txt che comunque non risulta alterato.
Se vuoi gli utenti invece dei server, metti $1 invece che $2
[Immagine: http://pclinuxos.com/forum/avatars/Pengu...guitux.png]

. . . . . Posto il posto, posto : . . . Libera Informatica in Libero Stato !!!
Cita messaggio
Grazie da:
#3
Grazie Zafran.
Se volessi escludere i domini gmail.com/hotmail.com da questa estrazione? Si può?
Estrarre tutti i domini tranne le mail che hanno dominio gmail/hotmail/live lasciandole così come sono. Solo questa richiesta e poi basta.
Cita messaggio
Grazie da:
#4
Puoi scrivere @gmail.com o @hotmail.com invece che solo @

EDIT
in tutti i casi se fai un unico filone che raccoglie tutti i file e lo importi in un foglio di calcolo separando i campi con @ poi ordini sul secondo campo e cancelli le righe di gmail e hotmail.
Non è elegante come usare la shell però funziona anche così
[Immagine: http://pclinuxos.com/forum/avatars/Pengu...guitux.png]

. . . . . Posto il posto, posto : . . . Libera Informatica in Libero Stato !!!
Cita messaggio
Grazie da:
#5
si, con libreoffice sapevo come fare questa estrazione, volevo far fare tutto in automatico al terminale Blush
gli indirizzi sono più di 500 e contengono un bel pò di gmail+hotmail, devo cercarli uno per uno con lo strumento cerca.
Cita messaggio
Grazie da:
#6
Allora ti conviene davvero andare di shell.

Potresti costruirti il file input che contenga tutti i .txt.
Codice:
cat file.txt >> filone.txt
Poi con awk estrapoli i server e a quel punto con sed sostituisci gmail.com e hotmail.com con nulla.Qualcosa come
Codice:
sed 's/gmail.com//g' filone.txt; sed 's/hotmail.com//g' filone.txt

Si potrebbe anche fare un unico script per tutti i .txt di una directory.
Codice:
#!/bin/bash

for FILE in *.txt; do
sed 's/gmail.com//g' $FILE > fileappoggio.txt
sed 's/hotmail.com//g' fileappoggio >> filone.txt
done

awk 'BEGIN{FS="@"}{printf("\n %-20s",$2)}' filone.txt >> outputfile.txt

rm fileappoggio.txt
rm filone.txt
[Immagine: http://pclinuxos.com/forum/avatars/Pengu...guitux.png]

. . . . . Posto il posto, posto : . . . Libera Informatica in Libero Stato !!!
Cita messaggio
Grazie da:
#7
con un editor di testo bastava aprire l file .txt ed usare la funzione "cerca e sostituisci"
cercare il testo *@ e sostituirlo con niente
Il mio blog: ZEROZEROCENT.BLOGSPOT.COM
LEGGE DI MURPHY: SE QUALCOSA PUO' ANDAR MALE, LO FARA'
VERSIONE QUANTISTICA DELLA LEGGE DI MURPHY: TUTTO VA MALE CONTEMPORANEAMENTE
Cita messaggio
Grazie da:
#8
@bat e zafran, grazie!!
Testerò entrambi i metodi, di usare il metodo del cerca e sostituisci ci avevo pensato ma non sapevo quale espressione usare per la ricerca.
Cita messaggio
Grazie da:
#9
Di strade ce n'è sempre diverse.
Anch'io pasticcio sempre parecchio con i sostituisci in editor di testo e figli di calcolo.

Però l'eleganza di un ciclo in uno script è veramente un'altra faccenda.
[Immagine: http://pclinuxos.com/forum/avatars/Pengu...guitux.png]

. . . . . Posto il posto, posto : . . . Libera Informatica in Libero Stato !!!
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)