Il y a quand même pleins de façon plus lisibles de faire ça :
sed 's@.*/\([^/]\+\)/\([^/]\+\)@&|1円-2円@'# version sed
awk -F/ '{print 0ドル"|"$(NF-1)"-"$NF}'# version awk# version pure shellwhileread line ;doproject=${line##*/}usr=${line%/*}usr=${usr##*/}echo"${line}|$usr-$project"done# version zshwhileread;dotab=("${(s:/:)REPLY}")echo"${REPLY}|${(j:-:)tab[${#tab[@]}-1,${#tab[@]}]}"done
Ma version sed, demande à connaître les expressions régulières ce qui est largement plus courant que le langage sed et qui est plus visuel aussi.
La version awk (la plus lisible des 4 AMHA) demande à savoir comment fonctionne awk (-F pour découper les lignes et le bloc s'execute pour chaque ligne).
La version zsh consiste à découper la ligne sur les / et à concaténer les deux derniers éléments avec un - (c'est l'opérateur j pour join).
Il y a, je pense, 4 façons générales de le faire :
la tienne que je comprends pas (je connais pas le sed)
les expressions régulières (ma version sed, plus ou moins la version shell)
le découpage sur les / (les versions awk et zsh)
dans les langages évolués interpréter l'ensemble comme un chemin de fichier et le manipuler par exemple en Java :
[^] # Re: Formation
Posté par barmic . En réponse à la dépêche systemd pour les administrateurs, partie 1 et 2. Évalué à 9. Dernière modification le 06 août 2014 à 23:46.
Il y a quand même pleins de façon plus lisibles de faire ça :
Ma version sed, demande à connaître les expressions régulières ce qui est largement plus courant que le langage sed et qui est plus visuel aussi.
La version awk (la plus lisible des 4 AMHA) demande à savoir comment fonctionne awk (
-Fpour découper les lignes et le bloc s'execute pour chaque ligne).La version zsh consiste à découper la ligne sur les
/et à concaténer les deux derniers éléments avec un - (c'est l'opérateur j pour join).Il y a, je pense, 4 façons générales de le faire :
/(les versions awk et zsh)Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)