IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[man] Afficher une "section"


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de novae84
    Homme Profil pro
    Etudiant.
    Inscrit en
    Juin 2022
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Etudiant.

    Informations forums :
    Inscription : Juin 2022
    Messages : 37
    Par défaut [man] Afficher une "section"
    Bonjour à tous,

    Quand j'utilise la commande man, je suis souvent amené à faire défiler et à lire (souvent en diagonale) une bonne partie de la doc jusqu'à trouver l'option qui m'intéresse.

    Actuellement, je sais juste utiliser la commande grep de manière très basique en complément de man, ce qui généralement ne m'affiche qu'une seule ligne.


    Ce que j'essaie de faire est d'afficher tout le(s) paragraphe(s) relatif à une option (en incluant les éventuels sauts de ligne).

    Je ne sais pas trop si je suis clair, du coup voici un exemple de ce que j'aimerais afficher.

    Page de manuel: nmapOption qui m'intéresse: --tracerouteNom : man nmap.png
Affichages : 184
Taille : 297,0 Ko

    J'ai quelques pistes notamment avec awk mais je me demande si il n'y a pas de solution plus intuitive.

    Je vous remercie pour votre aide !

    Belle journée à tous,

  2. #2
    Membre Expert Avatar de Ti-Slackeux
    Homme Profil pro
    Robotique
    Inscrit en
    Août 2007
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Robotique

    Informations forums :
    Inscription : Août 2007
    Messages : 876
    Par défaut
    Bonjour,

    Je lance la commande man nmap puis :

    Pour trouver l'occurence suivante la touche n.
    En prime ça marche un peu partout ^^"

    hth,

  3. #3
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P 'less -p "^ +--traceroute"' nmap
    Et appuyer sur "n" pour continuer la recherche si ce n'est pas l'endroit que tu cherches.
    "N" pour aller en arrière.
    "q" pour sortir.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Farpaitement !

    Je dirais même plus:

    • Pour rechercher toutes les occurrences d'un "terme" dans le man d'une "commande":

      • man -P"less +/<terme>" <commande>
      • ex:
      • pour chercher tous les "traceroute" dans le man de "nmap":
      • man -P"less +/traceroute" nmap

    • Pour rechercher une section dans le man d'une commande
      • man -P "less -p '^ +<section>'" <commande>
      • ex:
      • pour chercher la section qui décrit l'argument "--traceroute" dans le man de "nmap":
      • man -P 'less -p "^ +--traceroute"' nmap
      • ex:
      • pour chercher la section qui décrit le concept "p'Pathname Expansion" dans le man de "bash":
      • man -P"less -p'^ +Pathname Expansion'" bash


    Rq1: La commande man -P"less -p'^ +-p'" less permet de comprendre le sens de l'option "-p" de "less":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           -ppattern or --pattern=pattern
                  The -p option on the command line is equivalent to specifying +/pattern;
                  that is, it tells less to start at the first occurrence of pattern in the file.
    La même commande pourrait donc s'écrire man -P "less +/^\ +-p" less. L'intérêt du "-p" de "less" est qu'on n'est pas obligé de quoter les caractères spéciaux, comme les espaces, au prix d'un petit jonglage entre les simples et doubles quotes !

    Rq2: le "+" n'a pas le même sens dans les 2 cas!

    Dans less +/<terme>, il indique à "less" d'ajouter l'exécution de la directive /<terme> (où "/" veut dire "chercher la prochaine occurrence de ce qui suit").

    Alors que, dans less -p '^ +<section>', il fait partie de la regexp qui indique de chercher un début de ligne: "^", suivi d'une espace: " ", présente en un nombre quelconque strictement supérieur à 1: "+", suivie des caractères de la section à chercher.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Moi je fais man la_commande puis dans le man je me balade avec les flèches (haut, bas) ce qui fait défiler ou remonter.
    Et si je cherche un truc particulier, je fais comme avec "vi" => /le_truc (à taper dans le man ouvert) et ensuite je tape "n" ou "N" pour aller au truc suivant ou précédent (commandes là encore issues de l'éditeur "vi").

    A mon avis tu débutes donc tu te sens saturé d'infos mais avec l'expérience ça ira de plus en plus vite pour manipuler le man.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre averti Avatar de novae84
    Homme Profil pro
    Etudiant.
    Inscrit en
    Juin 2022
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Etudiant.

    Informations forums :
    Inscription : Juin 2022
    Messages : 37
    Par défaut
    Merci à tous pour vos réponses toutes plus détaillées les unes que les autres ! : )

    C'est vraiment appréciable de voir comment chacun procède, cela me permets d'avoir une meilleure vision d'ensemble des différentes méthodes possibles.

    Merci encore, c'est vraiment top et cela m'a bien aidé pour avoir des réponses sur d'autres sujets, et cela grâce aux pages de man, plutôt qu'avec Google.


    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Moi je fais man la_commande puis dans le man je me balade avec les flèches (haut, bas) ce qui fait défiler ou remonter.
    Et si je cherche un truc particulier, je fais comme avec "vi" => /le_truc (à taper dans le man ouvert) et ensuite je tape "n" ou "N" pour aller au truc suivant ou précédent (commandes là encore issues de l'éditeur "vi").

    A mon avis tu débutes donc tu te sens saturé d'infos mais avec l'expérience ça ira de plus en plus vite pour manipuler le man.
    Haha, oui tout à fait, je te confirme que c'est un peu le cas, mais rien d'insurmontable !
    J'utilise Linux depuis des années, mais jusque ici en tant que particulier, donc je n'avais jamais creusé certaines choses tant que j'arrivais à mes fins.

    Aujourd'hui j'aimerais me spécialiser un peu plus, donc il y'a beaucoup de question à priori élémentaires et que j'avais laissé dans un coin de ma tête qui ressurgissent.

    Notamment concernant l’utilisation de "vi", que tu évoques.

    J'entends souvent les gens parler de vi/vim/emacs. Pour ma part j'utilise "nano" depuis quasiment toujours car il m'est apparu plus intuitif -pour un débutant-.

    Du coup je me demandais si cela valait le coup, en 2022, d'apprendre à utiliser un de ces éditeurs, en complément de nano ?

  7. #7
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    bonjour
    Citation Envoyé par novae84 Voir le message
    je sais juste utiliser la commande grep de manière très basique en complément de man, ce qui généralement ne m'affiche qu'une seule ligne.
    Pour info (pas une recette pour man).
    La commande grep peut très bien afficher plusieurs lignes
    grep -B1 -A5 'truc'
    Va afficher 1 ligne Before et 5 lignes After

    -------

    A l'opposé de Vi, on peut trouver des man en ligne, parfois plus simple à consulter que dans un terminal

  8. #8
    Membre averti Avatar de novae84
    Homme Profil pro
    Etudiant.
    Inscrit en
    Juin 2022
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Etudiant.

    Informations forums :
    Inscription : Juin 2022
    Messages : 37
    Par défaut
    Citation Envoyé par papajoker Voir le message
    bonjour
    La commande grep peut très bien afficher plusieurs lignes

    Va afficher 1 ligne Before et 5 lignes After
    Ohhh... Celle-là je l'ajoute tout de suite mes notes ! Merci !

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/10/2019, 10h05
  2. [MySQL] mysql : affiche données dans une section membre
    Par endelium dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/03/2010, 14h02
  3. Afficher une page de man au bon format
    Par Kitty-hime dans le forum Linux
    Réponses: 5
    Dernier message: 23/03/2009, 18h26
  4. [CR8] Afficher ou masquer une section détail
    Par vvm54 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 05/10/2005, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo