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 :

Affiner ma recherche après une commande file


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 280
    Par défaut Affiner ma recherche après une commande file
    Bonjour,

    je m'amuse avec la commande file du terminal !!
    du coup j'en suis arrivé à rentrer
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    file nomdossier/*

    qui me donne une liste en sortie:
    des fichiers du type data, tous sauf un qui est du type ASCII text

    Si j'affine:
    Code Bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    file nomdossier/* --mime-type

    me donne:
    des fichiers du type application/octet-stream , sauf un ( le même qu'au-dessus ) du type text/plain

    J'aimerais comprendre la différence d'affichage !
    application/octet-stream = data
    text/plain = ASCII text

    Je sais que seul le ASCII text ( ou text/plain ) est lisible par un humain ( j'ai essayé de les ouvrir tous ! )

    Mon but, en dehors de mieux comprendre le fonctionnement de la commande file , est d'améliorer la ligne tapée pour n'avoir en sortie que le fichier lisible :
    À combiner je suppose avec
    mais je ne sais pas comment ! ( pas encore un bon niveau pour les combinaisons avec pipe )

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

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

    Ton échantillon est pauvre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $ file ~/Documents/* --mime-type -Fù | sed 's/.*ù *//' | awk '!vu[$1]++'
    text/plain
    application/vnd.oasis.opendocument.spreadsheet
    application/pdf
    image/jpeg
    text/xml
    application/zip
    image/png
    video/mp4
    image/gif
    audio/mpeg
    inode/directory
    video/x-matroska
    image/x-xcf
    image/x-portable-pixmap
    image/svg+xml
    video/webm
    application/vnd.oasis.opendocument.text
    text/x-shellscript
    application/vnd.oasis.opendocument.text-template
    application/octet-stream
    Quand tu ouvres un fichier de tableur, il est lisible à travers ton logiciel. Mais il n'est pas lisible sans. Cela rend les choses subjectives sur la lisibilité.

    2>/dev/null
    C'est la redirection de la sortie d'erreur. Je ne vois ni le rapport, ni pourquoi il y aurait une erreur.

    me donne:
    des fichiers du type application/octet-stream
    Enfin, tout fichier est une suite d'octets. Donc, quand il dit "flux d'octets" ou "octets-stream", c'est simplement qu'il n'a pas de réponse à la question.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 280
    Par défaut
    Bonjour,

    je vais essayer d'être plus clair !

    Plutôt que d'avoir en sortie sur mon terminal une liste de fichiers dont un seul est un fichier ASCII,
    je voudrais afficher seulement le fichier ASCII, faire un tri en quelque sorte !
    Que faudrait-il ajouter à ma commande après le file pour arriver au résultat ?

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 298
    Par défaut
    Toujours grep. Comme dans l'autre discussion. Le filtre, c'est grep. La sortie d'une commande est elle-même considérée comme un fichier texte. Voilà pourquoi grep fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file ~/Documents/* -i | grep ' text/'
    Rechercher un type MIME qui commence par "text" est plus pertinent. Car il y a de nombreuses saveurs de fichiers textes. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    text/plain; charset=us-ascii
    text/x-shellscript; charset=us-ascii
    text/x-awk; charset=utf-8
    text/x-python; charset=us-ascii
    text/troff; charset=us-ascii
    text/x-c; charset=us-ascii
    text/html; charset=utf-8
    text/x-msdos-batch; charset=us-ascii
    text/xml; charset=us-ascii
    text/x-java; charset=us-ascii
    text/x-po; charset=us-ascii
    text/x-perl; charset=us-ascii
    text/vcard; charset=utf-8
    text/x-tex; charset=us-ascii
    text/x-php; charset=us-ascii
    text/x-asm; charset=us-ascii
    text/x-pascal; charset=us-ascii
    text/x-c++; charset=us-ascii
    text/calendar; charset=us-ascii
    text/rtf; charset=binary
    text/x-makefile; charset=us-ascii
    text/x-ruby; charset=us-ascii
    text/x-diff; charset=us-ascii
    text/x-m4; charset=us-ascii
    text/x-objective-c; charset=us-ascii
    text/x-lisp; charset=us-ascii
    text/x-fortran; charset=us-ascii
    On reconnaît les fichiers texte, les scripts, les codes sources de différents langages, les annuaires téléphoniques, les directives de compilations, les fichiers XML, les pages WEB, et il doit en manquer.
    Tous lisibles avec un bon vieil éditeur texte.

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 280
    Par défaut
    C'est justement ce que je voulais savoir: si grep fonctionne pour les sorties de commande...


    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche d'une commande gourmande en cpu
    Par rajensias dans le forum Administration système
    Réponses: 2
    Dernier message: 08/05/2009, 11h42
  2. Recherche d'une commande
    Par alessandro67 dans le forum C
    Réponses: 22
    Dernier message: 01/03/2009, 18h59
  3. Fichier .bat qui s'arrête après une commande
    Par VinnieMc dans le forum Administration
    Réponses: 6
    Dernier message: 28/08/2008, 19h17
  4. [Débutante] Recherche d'une commande
    Par diana82 dans le forum Images
    Réponses: 5
    Dernier message: 24/10/2007, 20h13
  5. recherche d'une commande
    Par vasilov dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 03/11/2005, 23h40

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