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 :

Connaitre si un fichier existe ou pas


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Par défaut Connaitre si un fichier existe ou pas
    Bonjour

    je voudrais savoir comment faire dans un script shell comment faire pour savoir si un fichier existe sur un lien internet

    ex : http://dev.mondev.deva/test/monfile.txt

    merci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Avec wget et les options -q et --spider, puis tu testes si le code retour "$?" est égal à "0" ou pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     wget -q --spider http://dev.mondev.deva/test/monfile.txt

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Re-

    Ou avec l'option "-nv" pour une sortie plus lisible si besoin était :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wget -nv --spider http://dev.mondev.deva/test/monfile.txt

  4. #4
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Tu peux utiliser curl.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -s -D - -o /dev/null http://dev.mondev.deva/test/monfile.txt
    Quelques liens utiles:
    http://linux.die.net/man/1/curl
    http://www.carlowens.me/2010/03/bash...rform-actions/

    Exemples
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    bash-3.2$ curl -s -D - -o /dev/null http://www.google.fr 
    HTTP/1.1 200 OK
    Date: Fri, 11 Feb 2011 09:24:54 GMT
    Expires: -1
    Cache-Control: private, max-age=0
    Content-Type: text/html; charset=ISO-8859-1
    Set-Cookie: PREF=ID=1c398e70769d6dfb:FF=0:TM=1297416294:LM=1297416294:S=4wMRzbeLvDNxF4lh; expires=Sun, 10-Feb-2013 09:24:54 GMT; path=/; domain=.google.fr
    Set-Cookie: NID=43=gBXqYIBsYqY2kqhwdMxT6j9zgW1VfAMpWTIkzxffzNBj2GBGRmdovVFBuvrpIFlsfbx2mOzHA4V_8jwTHE5Af0AM_FRd-tjYRKgAX2cV_5blLNlO9gsovLLJTubHEXR4; expires=Sat, 13-Aug-2011 09:24:54 GMT; path=/; domain=.google.fr; HttpOnly
    Server: gws
    X-XSS-Protection: 1; mode=block
    Transfer-Encoding: chunked
     
    bash-3.2$ echo $?
    0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bash-3.2$ curl -s -D - -o /dev/null http://dev.mondev.deva/test/monfile.txt
    bash-3.2$ echo $?
    6

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Par défaut
    je vous remercie.

    je regarde ça de suite, mais je trouve qu'il est difficile de trouver des info sur les script shell.

  6. #6
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    c'est comme tout les langage en cherchant un peu tu trouve des livres, et des tutoriel

    par exemple:
    http://oreilly.com/catalog/978059600...review#preview
    http://www.shellunix.com/ksh.html
    http://marcg.developpez.com/ksh/

    Ensuite un shell n'est ni plus ni moins qu'une succéssion de lignes de commande que tu pourrais taper.

    En général tu commence à en écrire tes premiers scripts quand tu te rend compte que tu tappe toujours les mêmes suite de commandes sur un projet et que c'est très repetitif, tu les regroupe dans un fichier pour gagner du temps et ça te fait ton premier script (j'ai commencé comme ça il y'a plus de dix ans).

    Ensuite tu te rend compte que ce srait bien de pouvoir y ajouter des options car des fois tu fait des actions suplémentaire ou un peu différente de d'habitude dans certains cas particulier et tu indtroduit des branches /boucles/...

    A la fin tu as une jolie petite usine a gaz , mais que tu connais parfaitement et qui te fait gagner du temps car elle automatise une bonne partie de ton travail repetitif.

    Après cela peu être demandé dans le cadre d'un projet (genre un script de déploiement), mais la tu fais des choses mieux pensée/reflechies en général

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Par défaut
    bon j'effectue mon test avec curl, mais je voulais savoir si je pouvais tester la taille du fichier avec curl.

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Avec curl sans le télécharger ça va être difficile

    Après tout dépend comment se présente ton fichier au point de vue support. Par exemple s'il est sur un serveur FTP, tu peux récupérer la page en l'affichant (lynx, w3m, etc.) et récupérer les infos que tu veux avec des outils comme grep, cut, awk, etc.

  9. #9
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Avec curl sans le télécharger ça va être difficile

    Après tout dépend comment se présente ton fichier au point de vue support. Par exemple s'il est sur un serveur FTP, tu peux récupérer la page en l'affichant (lynx, w3m, etc.) et récupérer les infos que tu veux avec des outils comme grep, cut, awk, etc.
    en ftp -head te donnera la taille, par contre en http

Discussions similaires

  1. Script fichier existant ou pas
    Par vincent1890 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/05/2013, 06h34
  2. Réponses: 2
    Dernier message: 30/06/2010, 16h09
  3. [JFileChooser.showSaveDialog] et ne pas écraser un fichier existant
    Par sepas dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 03/08/2008, 22h34
  4. Réponses: 12
    Dernier message: 05/07/2008, 22h13
  5. Réponses: 2
    Dernier message: 05/09/2005, 16h32

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