Forum Programmation.shell Extraire un lien dans un fichier

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
6
fév.
2019

BONJOUR…
je veux extraire un lien dans un fichier

voila comment il ressemble:

monFichier=/tmp/monFichier

    monFichier: 
    1 https://www.tunisia-sat.com/forums/threads/3539021    /page- 441#post-1050822361" class="internalLink">هنا     ما يحتويه التحديث</a></span></span></b><br />

    2
    3
    4
    .

ce que je veux c'est virée le caractère http: …#post-105082236(") et tout qui le suit

c'est a dire:
    " class="internalLink">هنا ما يحتويه التح    ديث</a></span></span></b><br />

    sed -i 's|"*$/d||' $monFichier

ça n'a pas marché…


remarque monFichier et une variable

  • # grep, awk...

    Posté par  (site Web personnel) . Évalué à 2. Dernière modification le 06/02/19 à 13:42.

    exemple avec grep

    grep -Po '(?=1).*(?=" class)' ton_fichier

    exemple avec a.txt qui contient

    1 https://www.tunisia-sat.com/forums/threads/3539021/page- 441#post-1050822361" class="internalLink">ÃÃ

    ça donne

    $ grep -Po '(?=1).*(?=" class)' a.txt
    1 https://www.tunisia-sat.com/forums/threads/3539021/page- 441#post-1050822361

    ウィズコロナ

  • # awk

    Posté par  . Évalué à 1. Dernière modification le 06/02/19 à 15:31.

    first= awk -F\# '{print $1}' /tmp/monfichier
    second= awk -F\" '{print $2}' /tmp/monfichier
    result=echo $first $second

    • [^] # Re: awk

      Posté par  . Évalué à 1. Dernière modification le 07/02/19 à 09:57.

      Merci..
      la deuxième commande suffit pour accomplir le boulou

          second= awk -F\" '{print $2}' /tmp/monfichier >     /tmp/monfichier2
          monfichier2=/tmp/monfichier2
          monfichier2=$(<monfichier2)
          wget -q -O- --trust-server-names "$(<monfichier2)" >     /tmp/monfichiera
  • # ou bien, en une seule ligne :

    Posté par  . Évalué à 2.

    wget -q -O /tmp/monfichiera --trust-server-names "$(awk -F\" '{print $2}' /tmp/monfichier)"

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.