Forum Programmation.shell comment reconnaitre un fichier

Posté par  .
Étiquettes : aucune
0
12
jan.
2006
Bonjour a tous,

Voilà mon problème:

j'ai des fichiers logs:
009_psaz_20060102.txt
009_psaz_20060102.txt.zip

comment faire pour savoir si c'est zip ou un txt sachant que les répertoires ou ce trouve ces logs sont nombreux.

Voici ma commande:
cd /
find . -name *20060102* -print | la suite je ne trouve pas ...
car cette commande affiche les 2 fichiers.
voici le résultat que je souhaite:
1 cherche le fichier par date *AAAAMMJJ*
2 si c'est un fichier txt ouvre le avec less pour le lire
3 sinon si c'est un zip, decompress le avec unzip dans un répertoire temporaire et ouvre le avec less pour le lire

fic1=`find . -name *20060102* -print | la suite je ne trouve pas ...`
if [ "fic1" = "zip" ]
then unzip $fic1; less $fic1
else less $fic1
fi

Je sais ça marche pas...

Merci pour toutes résponses.
  • # file ; zless

    Posté par  (site web personnel) . Évalué à 5.

    > comment faire pour savoir si c'est zip ou un txt

    la commande file donne le type d'un fichier.

    > si c'est un fichier txt ouvre le avec less pour le lire
    > sinon si c'est un zip, decompress le avec unzip dans un répertoire temporaire et ouvre le avec less pour le lire


    Le plus simple c'est d'utiliser la commande zless.
    Elle va elle-même dézipper le fichier, si il est zippé, et l'afficher.
    Donc tu peux utiliser zless à la fois pour tes fichiers txt et tes fichiers zip.
  • # Tu as lu la page man de less ?

    Posté par  . Évalué à 2.

    Rassures-toi, je ne poste pas pour t'incendier....
    Il y est indiqué :

    lesspipe.sh:
    #! /bin/sh

    case "$1" in

    *.Z) uncompress -c $1 2>/dev/null

    ;;

    esac



    To use this script, put it where it can be executed and set LESSOPEN="|lesspipe.sh %s".


    Voilà, c'est un exemple, mais tu peux l'adapter pour des .zip, des .gz, des .tgz, etc.
    Je te laisse le faire à titre d'exercice, ça ne devrait pas être trop compliqué....
    Bon courage !

Suivre le flux des commentaires

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