[bash] Extraction nom de fichier (=basename)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [bash] Extraction nom de fichier (=basename)

Re: [bash] Extraction nom de fichier (=basename)

par jojolapine » 27 juil. 2010, 15:17

Merci beaucoup ça fonctionne au poil! ;)

j'ai partagé ici mon petit script: vos-contributions/utilitaire-shell-pour ... 54503.html

Re: [bash] Extraction nom de fichier (=basename)

par ouckileou » 27 juil. 2010, 12:29

Il y a la fonction "basename" en bash.

Exemple que j'avais trouvé sur internet:
#!/bin/bash
fullfilename=$(basename $1)
extension=${fullfilename##*.}
filename=${fullfilename%.*}

echo "fullfilename=$fullfilename"
echo "extension=$extension"
echo "filename=$filename"
./file_name.sh /path/to/file/toto.txt.truc
fullfilename=toto.txt.truc
extension=truc
filename=toto.txt

[bash] Extraction nom de fichier (=basename)

par jojolapine » 27 juil. 2010, 12:03

Bonjour à tous,

je suis en train de me développer un petit script bash afin de faciliter l'utilisation de gettext, il me sert donc à extraire les traductions puis à les compiler...
Bref là n'est pas le sujet, si jamais j'arrive à ce que ce soit bien utilisable, je partagerais ;)

Donc en fait je cherche simplement à récupérer le nom de base d'un fichier passer en paramètre... pour l'instant, j'utilise ceci:

Code : Tout sélectionner

# Récupération du nom de fichier sans l'extension FILE_NAME=$(echo "$3" | cut -f1 -d '.')
Mais ça ne fonctionne que si l'on passe ce genre de chose: file.ext

J'aimerais simplement pouvoir extraire de path/to/file.ext le file...
Et je suis vraiment une bille en prog bash...

Auriez-vous quelque chose sous la main pour moi?
Merci d'avance!