Bonjour,
y'a quelqu'un qui une solution plus rapide sans passer par des boucles pour qu'à partir de:
var1_var2_var3_var4 ===> var1_var3var4-var2.
Merci d'avance
Bonjour,
y'a quelqu'un qui une solution plus rapide sans passer par des boucles pour qu'à partir de:
var1_var2_var3_var4 ===> var1_var3var4-var2.
Merci d'avance
/!\ attantion quand tu vas remplacer par tes vraies variables au quotages /!\
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [frpus@lne ~] echo var1_var2_var3_var4 | sed "s/\(var1\)_\(var2\)_\(var3\)_\(var4\)/\1_\3\4_\2/" var1_var3var4_var2 [frpus@lne ~]
Salut,
Avec awk aussi :
Et avec sed sans tenir compte des valeurs de "VARn" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ echo "var1_var2_var3_var4" | awk -F'_' '{ print $1"_"$3$4"-"$2 }' var1_var3var4-var2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ echo "var1_var2_var3_var4" | sed -r 's/([^_]*)_([^_]*)_([^_]*)_(.*)/\1_\3\4-\2/' var1_var3var4-var2![]()
Merci bcp pour vos réponsés
ça m'est très utile.
Dans le me contexte j'ai un autre petit probleme c'est que la chaine se termine par l'extension.
en gros meme traitement plus l'extension:
var1_var2_var3_var4.txt ===> var1_var3var4-var2.txt ?
Awk :
Sed :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ echo "var1_var2_var3_var4.txt" | awk -F'[_.]' '{ print $1"_"$3$4"-"$2"."$5 }' var1_var3var4-var2.txt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ echo "var1_var2_var3_var4.txt" | sed -r 's/([^_]*)_([^_]*)_([^_]*)_([^.]*)(.*)/\1_\3\4-\2\5/' var1_var3var4-var2.txt
Partager