Modifier un fichier texte commande unix
Résolu
Bonjour tout le monde,
J'aurai besoin d'un petit coup de main pour modifier un fichier texte.
au départ j'ai un fichier qui contient des enregistrements comme celui ci:
"10/02/2007 20:34:09","adresse@domaine.fr","Erreur de connexion au serveur de messagerie"
et je voudrai récupérer juste :
"adresse@domaine.fr"
je sais que c'est possible avec un filtre, mais impossible de me souvenir lequel.
Merci à tous !
J'aurai besoin d'un petit coup de main pour modifier un fichier texte.
au départ j'ai un fichier qui contient des enregistrements comme celui ci:
"10/02/2007 20:34:09","adresse@domaine.fr","Erreur de connexion au serveur de messagerie"
et je voudrai récupérer juste :
"adresse@domaine.fr"
je sais que c'est possible avec un filtre, mais impossible de me souvenir lequel.
Merci à tous !
Configuration: Windows XP Firefox 2.0.0.1
11 réponses
-
ModérateurRe,
ou grep à la place de cut, perl, sed, awklami20j@debian:~$ cat alain | grep -oE '\w+\@\w+\.fr' adresse@domaine.fr adresse1@domaine.fr adresse2@domaine.fr
Na!:-))
-
Bonjour,
essaie ceci :
cut -d "," -f2 fichier
-
ModérateurSalut,
si tu veux sans les guillemetslami20j@debian:~$ cat alain "10/02/2007 20:34:09","adresse@domaine.fr","Erreur de connexion au serveur de messagerie" "10/02/2007 20:34:09","adresse1@domaine.fr","Erreur de connexion au serveur de messagerie" "10/02/2007 20:34:09","adresse2@domaine.fr","Erreur de connexion au serveur de messagerie" lami20j@debian:~$ cat alain | cut -d"," -f2 "adresse@domaine.fr" "adresse1@domaine.fr" "adresse2@domaine.fr" lami20j@debian:~$ cat alain | perl -ne 'print ((split /[,"]/)[4],"\n")' adresse@domaine.fr adresse1@domaine.fr adresse2@domaine.fr -
ModérateurSalut,
Tu peux aussi utiliser "awk" à la place de "cut" :awk -F, '{ print $2 }' fichieret "sed" à la place de "perl" :sed 's/.*,\"\(.*\)\",.*/\1/' fichier
;-))
-
Bonsoir,
Est-il possible, plutôt que d'afficher seulement l'adresse dans la console, de la copier dans un fichier texte déjà existant, à la suite d'une liste d'adresse (une adresse par ligne).
Merci à tous. -
ModérateurEt aussi sans guillements avec cut
lami20j@debian:~$ cat alain | cut -d'"' -f4 adresse@domaine.fr adresse1@domaine.fr adresse2@domaine.fr
et avec guillemets en perllami20j@debian:~$ cat alain | perl -ne 'print ((split /,/)[1],"\n")' "adresse@domaine.fr" "adresse1@domaine.fr" "adresse2@domaine.fr"
Alain je pense que tu as la sauce complete :-))
-
je voudrais savoir les syntaxes et les descriptions des commandes suivantes :
usermod
mkdir
lp
userdel
service
chkconfig -
Merci wiki :D
J'ai trouvé, c'est tout simple : il faut ajouter >> nom_du_fichier_texte
Ce qui donne
grep -oE '\w+\@\w+\.fr' >> nom_du_fichier_texte.txt
Merci -
C'est encore moi, tout d'abord, c'est pour dire que j'ai oublié le nom du fichier dans lequel se trouve l'adresse mail à rechercher ce qui donne plutôt
grep -oE '\w+\@\w+\.fr' nom_du_fichier_ou_se_trouve_les_emails >> nom_du_fichier_de_sauvegarde.txt
Deuxièmement, est-il possible de faire cette manipulation directement depuis une page web, bien évidement la commande
grep -oE '\w+\@\w+\.fr' http://domaine.com/page ne marche pas, mais y a-t-il un autre moyen ?
Merci à tous (même si je suis un peu seul pour l'instant :D ) -
Merci beaucoup, ça marche !!
En fait j'avais trouvé entre temps, sauve que j'étais parti pour faire un fichier .sh avec l'utilisation d'un fichier texte intercalé entre les deux commande grep et wget
Le seul problème de cette méthode, c'est que la page reste sous forme de html et si dans le code de la page il y a par exemple adresse@domaine.fr<br> comme il n'y a pas d'espace entre .fr et <br> ça ne marche pas !
@+ -
Contributeurhello
et en utilisant w3m au lieu de wget
w3m - a text based Web browser and pager
w3m [options] [URL or filename]