Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/04/2014, à 08:40

Le Goss

[Résolu] bash grep affichage des liens style html ou de l'incipit

Bonjour à tous,

Je vais essayer d'être clair; et c'est pas gagné. Bon.
Je me sers de grep pour afficher certaines lignes d'un fichier dans une des fenêtres de terminator que j'ai splitté.
Donc la taille de ma fenêtre est réduite.
Tout mon fichier est constitué de lignes du type:

bla_bla "url1"
blu_blu "url2"

1. à l'image de la gestion des liens en html, existe-t-il un moyen de ne faire apparaître que

bla_bla
blu_blu

et d'ouvrir les liens en cliquant dessus?

2.  si ce n'est carrément pas possible en bash, existe-t-il un moyen, toujours avec grep, de n'afficher que l'incipit de chaque ligne (c'est-à-dire, d'interdire l'affichage sur plus d'une ligne) tout en permettant le clic sur l'url (potentiellement incomplète)?

En vous remerciant  des efforts consentis pour me comprendre,
Merci pour votre aide!
Bien cordialement

Dernière modification par Le Goss (Le 30/04/2014, à 17:59)


Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 51 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - txt2tags

Hors ligne

#2 Le 30/04/2014, à 12:50

bishop.sad.clown

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

...
Je me sers de grep pour afficher certaines lignes d'un fichier
...

Donne la syntaxe que tu utilises, avec qlqs lignes de la sortie  car c'est la sortie de cette commande que l'on va essayer de formater...


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#3 Le 30/04/2014, à 13:23

credenhill

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

hello
n'affiche qu'une ligne à la fois et l'url est cliquable

grep "bla_bla " fichier | more -1

Hors ligne

#4 Le 30/04/2014, à 14:20

Le Goss

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

bishop.sad.clown a écrit :

Donne la syntaxe que tu utilises, avec qlqs lignes de la sortie  car c'est la sortie de cette commande que l'on va essayer de formater...

Exemple de contenu de monfichier:

rose_rouge "http://www.veryworldtrip.com/wp-content/uploads/2012/11/Rose-rouge.png"
rose_jaune "http://2.bp.blogspot.com/-roNJXoSsUNc/UgK6FHhgEvI/AAAAAAAAKko/zPQQ5REbYEk/s1600/Rose+jaune.png"
tulipe_rouge "http://ababeu.free.fr/yeuf/IMG_6570.jpg"
tulipe_jaune "http://www.les-vegetaliseurs.com/media/cliches_natures/20080420_143816.jpg"

Mon script actuel:

#!/bin/bash

clear
while true; do

read -p 'mot 1 : ' mot1
read -p 'mot 2 : ' mot2
read -p 'mot 3 : ' mot3
echo -e "============================="
grep -i "$mot1" monfichier | grep -i "$mot2" | grep -i "$mot3"
echo -e "============================="
echo ""

done

On peut laisser les mots 2 et 3 vides.


Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 51 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - txt2tags

Hors ligne

#5 Le 30/04/2014, à 14:25

Le Goss

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

credenhill a écrit :

hello
n'affiche qu'une ligne à la fois et l'url est cliquable

grep "bla_bla " fichier | more -1

Salut,
Je ne cherche pas à afficher une ligne après l'autre, mais toutes les lignes que retourne grep, sans qu'aucune ne soit coupée, quitte à ce qu'une partie disparaisse si nécessaire


Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 51 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - txt2tags

Hors ligne

#6 Le 30/04/2014, à 14:36

bishop.sad.clown

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

Le Goss a écrit :

Bonjour à tous,

1. à l'image de la gestion des liens en html, existe-t-il un moyen de ne faire apparaître que

bla_bla
blu_blu

et d'ouvrir les liens en cliquant dessus?

qlq chose comme  ( à adapter ) :

grep -iE "$mot1|$mot2|$mot3" mon_fichier | awk -F " " '{print $1}'

avec cut ça fonctionne aussi,

grep -iE "$mot1|$mot2|$mot3" mon_fichier | cut -d " " -f 1 

mais l'avantage de s'habituder à awk c'est que cut n'admet qu'un caractère comme délimiteur ( argument -d " " ) alors que awk peut prendre une expression ( argument -F "expression" par ex: -F "http" )

Dans cette exemple on peut omettre  -F " " car c'est le délimiteur par défaut, mais ça te permet de voir la syntaxe, pour adapter à tes besoins...

y a une chose que je n'ai pas bien saisie... tu dis:

et d'ouvrir les liens en cliquant dessus?

Avec ce qu'on a vu précédément l' url n'apparaitre apparaitra pas vu que tu as demandé d'afficher que les " blabla" "blublu" ( le champ 1 )

Si c'était une question indépandante, c'est cliquable en natif dans bash et zsh d'après ce que je viens de tester...

Si c'est autre chose que tu demandes, désolé, j'n'ai pas saisi...

=· /

Dernière modification par bishop.sad.clown (Le 30/04/2014, à 14:37)


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#7 Le 30/04/2014, à 15:00

Le Goss

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

bishop.sad.clown a écrit :

Si c'est autre chose que tu demandes, désolé, j'n'ai pas saisi...

Merci pour awk et cut!
Je vais prendre un exemple pour le reste:
Quand on fait un lien en html, c'est du genre:

<a href="http://www.les-vegetaliseurs.com/media/cliches_natures/20080420_143816.jpg">tulipe jaune</a>

Sur la page html ou figure ce lien, l'url disparaît et laisse la place à un: tulipe jaune
C'est ce que je cherche à obtenir dans mon terminal: un lien qui "disparaît" mais qui est "intégré" à mon bla_bla ou blu_blu; de telle manière qu'il cliquant sur bla_bla ou blu_blu, le lien correspondant s'ouvre.


Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 51 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - txt2tags

Hors ligne

#8 Le 30/04/2014, à 15:02

bishop.sad.clown

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

Compris !

J'vais chercher sur le web de mon côté, car je ne sais pas le faire et ça m'intéresse...

^^

EDIT: Comme dans un navigateur web en console ( type links & Co. ) , ce qui me fait me demander si c'est faisable en natif sans...
          j'retourne à mes recherches ^^

Dernière modification par bishop.sad.clown (Le 30/04/2014, à 15:06)


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#9 Le 30/04/2014, à 15:57

credenhill

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

quelque chose comme ça,

$ cat fichier
<a href="http://www.les-vegetaliseurs.com/media/cliches_natures/20080420_143816.jpg">tulipe jaune</a>
$ awk -F '[<>"]' '{print $5 " :\t" $3}' fichier
tulipe jaune :	http://www.les-vegetaliseurs.com/media/cliches_natures/20080420_143816.jpg

et on clique sur l'URL

Hors ligne

#10 Le 30/04/2014, à 16:02

bishop.sad.clown

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

D'ailleurs en utilisant links ( à installer ) ca fonctionne mais c'est moins pratique, il faut passer des arguments pour configurer l'affichage ( couleur fond etc ) et passer par un fichier temporaire syntaxé html...
Exemple en partant des précédentes commandes ( à adapter ensuite ) :

grep -iE "$mot1|$mot2|$mot3" ton_fichier | awk -F " " '{print "<a href="$2">"$1"</a><br>"}' > /tmp/.mon_script.tmp && links -force-html /tmp/.mon_script.tmp

ça fonctionne mais y a pt-être moins lourd / plus propre...

À toi de voir...

EDIT: si le fonctionnement te plait, chercher s'il n y a pas un navigateur en mode texte plus évolué ... J'ai tester avec links2 et l'argument " -g" ( comme graphique ) et c'est pas ininteressant... j'aime assez

Dernière modification par bishop.sad.clown (Le 30/04/2014, à 16:05)


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#11 Le 30/04/2014, à 16:16

bishop.sad.clown

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

screenshot-30042014-161549.phpscreenshot-30042014-161344.php

navigable au clavier et souris... comme tu peux le voir j'ai choisi ta rose_rouge...

par contre ca s'ouvre dans un autre terminal alors que link lui reste dans le terminal de lancement...

Voilà... tu as tous mes tests...

Dernière modification par bishop.sad.clown (Le 30/04/2014, à 16:18)


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#12 Le 30/04/2014, à 17:36

Le Goss

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

Grâce à ton aide, voilà ce qu'est devenu mon script:

#!/bin/bash

while true; do
clear
read -p 'mot 1 : ' mot1
read -p 'mot 2 : ' mot2
read -p 'mot 3 : ' mot3
echo -e "============================="
grep -iE "$mot1" monfichier | grep -i "$mot2" | grep -i "$mot3" | awk -F " " '{print "<a href="$2">"$1"</a><br>"}' > /tmp/.script.tmp && lynx -force-html /tmp/.script.tmp

done

1. J'ai changé ton contenu de la commande grep, parce que quoiqu'on tape, tout s'affiche (voir ta première capture d'écran)
2. Contrairement à toi, links ne m'affichait pas les images; j'ai essayé elinks avec feh... l'affichage fonctionne sauf que la fenêtre de dialogue est beaucoup trop grande. Si seulement je pouvais forcer l'ouverture de l'image par défaut...
3. J'ai choisi lynx. Faut le configurer niveau affichage, mais ça fonctionne impec. Les images s'affichent direct.

Un grand merci!
Cordialement


Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 51 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - txt2tags

Hors ligne

#13 Le 30/04/2014, à 17:44

bishop.sad.clown

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

étrange que tout s'affiche... sur mes tests avec comme source:

si je tape "rose" et "verte" il me sort que les lignes avec rose... pas les tulipes...

m'enfin bon l'important c'est que ça fonctionne et que ça te convienne...

pour les images faut installer links2 au lieu de links et le lancer avec " - g " → links2 -g


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#14 Le 30/04/2014, à 17:46

bishop.sad.clown

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

j'oubliais, penser effacer le fichier temporaire à la fermeture de ton script... → faisons "propre" là où l'on sait le faire...

=· þ


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#15 Le 30/04/2014, à 17:52

Le Goss

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

bishop.sad.clown a écrit :

pour les images faut installer links2 au lieu de links et le lancer avec " - g " → links2 -g

Yessssssss cool
Merci encore!


Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 51 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - txt2tags

Hors ligne

#16 Le 30/04/2014, à 17:54

bishop.sad.clown

Re : [Résolu] bash grep affichage des liens style html ou de l'incipit

Tipeuh-top !

@++

=· )


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne