Commande sed bash
gardiendelanuit
Messages postés
1770
Date d'inscription
Statut
Membre
Dernière intervention
-
gardiendelanuit Messages postés 1770 Date d'inscription Statut Membre Dernière intervention -
gardiendelanuit Messages postés 1770 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous!
Je viens ici en raison des limites de google...
En effet j'ai un projet bash à faire et débutant dans ce language je voudrais utiliser cette fonction.
Voici ce que j'ai actuellement:
Je m'explique: j'ai récupéré le code source d'une page avec wget et je l'ai mise dans la variable $html, que je veux traiter avec sed en lui enlevant toutes les balises (autant que possible) pour attribuer à son tour le flux traité dans $txt_brute.
Mais voilà pour l'instant j'obtiens la modification dans le fichier d'origine et non dans texte_brute...
De plus je ne sais pas vraiment m'y prendre pour éliminer les balises du genre le code source de google...
Merci d'avance de vos réponses.
Je viens ici en raison des limites de google...
En effet j'ai un projet bash à faire et débutant dans ce language je voudrais utiliser cette fonction.
Voici ce que j'ai actuellement:
txt_brute= sed -i 's|<[^>]*>||g' $html #On enleve les balises HTML pour obtenir le texte brute echo $txt_brute >> texte_brute/texte_brute.txt
Je m'explique: j'ai récupéré le code source d'une page avec wget et je l'ai mise dans la variable $html, que je veux traiter avec sed en lui enlevant toutes les balises (autant que possible) pour attribuer à son tour le flux traité dans $txt_brute.
Mais voilà pour l'instant j'obtiens la modification dans le fichier d'origine et non dans texte_brute...
De plus je ne sais pas vraiment m'y prendre pour éliminer les balises du genre le code source de google...
Merci d'avance de vos réponses.
A voir également:
- Commande sed bash
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
4 réponses
Salut,
Tu dois juste récupérer le texte brut ?
Regarde si tu as "w3m" d'installer (dans le cas contraire tu l'installes) et :
Et tu auras ton texte brut ;-))
Tu dois juste récupérer le texte brut ?
Regarde si tu as "w3m" d'installer (dans le cas contraire tu l'installes) et :
wget $URL | w3m -dump -T text/html
Et tu auras ton texte brut ;-))
zipe31
Messages postés
36402
Date d'inscription
Statut
Contributeur
Dernière intervention
6 431
Oups j'ai oublié les options pour "wget" ;-(
Re-
Et pour répondre à ta question première, à savoir :
Mais voilà pour l'instant j'obtiens la modification dans le fichier d'origine et non dans texte_brute...
Enlève l'option "-i" (in-place) de sed ;-)
Et pour répondre à ta question première, à savoir :
Mais voilà pour l'instant j'obtiens la modification dans le fichier d'origine et non dans texte_brute...
Enlève l'option "-i" (in-place) de sed ;-)
txt_brute= sed 's|<[^>]*>||g' $html
Merci beaucoup pour tes réponses! Je test ça dès que je passe sous Linux (j'ai un projet, personnel cette fois-ci, que j'avance).
Je te tiens au courant, merci encore.
Je te tiens au courant, merci encore.
Bien voilà le résumé: w3m marche parfaitement seulement celà m'étonnerais que je puisse l'utiliser alors que c'est un projet que l'on doit faire sans partie dejà faite et avec les commandes dejà présente.
Pour ce qui est du sed, je pense que je dois faire plusieurs sed consécutifs en pipe jusqu'à avoir le meilleur résultat possible...
Pour ce qui est du wget, je voudrais que lorsqu'il y a un quelquonc problème, on puisse écrire un message... Comment faire ça (je ne sais pas si le bash fonctionne comme le c++ ou php où la fonction retourne 0 ou 1 par exemple...)
Merci d'avance et merci encore de tes réponses!
Pour ce qui est du sed, je pense que je dois faire plusieurs sed consécutifs en pipe jusqu'à avoir le meilleur résultat possible...
Pour ce qui est du wget, je voudrais que lorsqu'il y a un quelquonc problème, on puisse écrire un message... Comment faire ça (je ne sais pas si le bash fonctionne comme le c++ ou php où la fonction retourne 0 ou 1 par exemple...)
Merci d'avance et merci encore de tes réponses!