#1 Le 12/11/2020, à 16:08
- DonutMan75
[RESOLU] Shell et remplacement de paramètres
Hello,
une question toute bête.
J'ai :
echo $f
/chemin/vers/toto.cdf
Je veux garder toto mais
1 - remplacer /chemin/vers/ par /sortie/
2 - remplacer l'extension cdf par mat
Je sais faire ça en utilisant les remplacements de paramètres du shell
Remplacer les chemins
echo /sortie/"${f##*/}"
Remplacer l'extension
echo "${f%cdf}"mat
Ma question : est-il possible de combiner ces deux commandes dans une seule atomique ?
Quelque chose du genre :
echo /sortie/"${f##*/%cdf}mat ## NE MARCHE PAS"
Le man de bash n'indique rien mais je n'ai fait qu'une recherche rapide....
Merci d'avance
D.
Dernière modification par DonutMan75 (Le 12/11/2020, à 16:36)
Hors ligne
#2 Le 12/11/2020, à 16:27
- Watael
Re : [RESOLU] Shell et remplacement de paramètres
salut,
oui, non, mais là, ça fait trop d'un coup.
tu ne peux le faire qu'en plusieurs fois :
- enlever la "racine", puis
- enlever l'extension
$ n=${f##*/}
$ echo "/sortie/${n%.}.mat"
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 12/11/2020, à 16:36
- DonutMan75
Re : [RESOLU] Shell et remplacement de paramètres
Salut Watael,
merci pour ta réponse, je passe le sujet à résolu
D.
Hors ligne
#4 Le 12/11/2020, à 16:41
- pingouinux
Re : [RESOLU] Shell et remplacement de paramètres
Bonjour,
$ f=/chemin/vers/toto.cdf
$ sed -r 's#.*/(.+)\.[^.]+#/sortie/\1.mat#' <<<"$f"
/sortie/toto.mat
Hors ligne
#5 Le 12/11/2020, à 19:12
- Hizoka
Re : [RESOLU] Shell et remplacement de paramètres
Mais au final bien plus lent qu'en full bash
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne