(bash) Récupérer une sous chaine en regex
Marine
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour tout le monde,
Je bute sur une histoire d'expression régulière toute bête :
J'ai un fichier appelé monFichier.ssa et je veux simplement en extraire le nom "monFichier" (sans le .ssa) dans une variable !
J'essaye plusieurs techniques comme avec la commande sed :
sed -e '\(.*\)\.ssa'
Mais rien à faire, il doit y avoir une notion qui m'échappe...
Je ne suis même pas sure que sed soit la commande adéquate, car j'ai cru comprendre qu'elle sert surtout à renommer des sous chaînes.
Je vous remercie par avance ! :-)
Je bute sur une histoire d'expression régulière toute bête :
J'ai un fichier appelé monFichier.ssa et je veux simplement en extraire le nom "monFichier" (sans le .ssa) dans une variable !
J'essaye plusieurs techniques comme avec la commande sed :
sed -e '\(.*\)\.ssa'
Mais rien à faire, il doit y avoir une notion qui m'échappe...
Je ne suis même pas sure que sed soit la commande adéquate, car j'ai cru comprendre qu'elle sert surtout à renommer des sous chaînes.
Je vous remercie par avance ! :-)
A voir également:
- Regex bash
- Bingo bash - Télécharger - Divers Jeux
- Bash addition ✓ - Forum Shell
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
J'ai essayé :
'basename $fichier .ssa'
(Sachant que echo $fichier donne le chemin jusqu'à mon fichier)
Et j'obtiens des messages "not found".
Est-ce parce que mon $fichier contient le chemin en plus du nom du fichier ?
Dans mon script je n'ai pas d'autre choix que d'avoir une variable fichier qui contient tout le chemin en plus du nom du fichier...
J'ai finalement réussi à obtenir ce que je voulais avec :
fichier_sans_extension=${fichier_à_traiter%%.ssa}
(Ce qui n'a plus rien d'une regex, mais tant que ça marche... !)
:-)