Je veux être capable d'encoder un chemin pour l'utiliser comme URL, c.-à-d. Changer les espaces en% 20. Je trouve cette fonction qui fait l'encodage:Script zsh pour encoder le chemin complet du fichier
urlencode() {
setopt localoptions extendedglob
input=(${(s::)1})
print ${(j::)input/(#b)([^A-Za-z0-9_.\!~*\'\(\)- ])/%${(l:2::0:)$(([##16]#match))}}
}
et veulent pouvoir passer les résultats de cette:
print -l $PWD/* | tail -1
au function.ie obtenir le dernier chemin complet dans la liste des fichiers et l'encoder.
Je pensais que quelque chose comme ceci:
print -l $PWD/* | tail -1 | urlencode
ou
print -l $PWD/* | tail -1 > urlencode
fonctionnerait, mais ils ne le font pas.
Est-ce que quelqu'un sait comment l'accomplir?
Merci beaucoup
Cela ne fonctionne pas pour moi: (1) Je pense que les espaces blancs a foiré quand vous avez copié et collé, et (2) il encode les barres obliques (séparateurs de chemin). Voici ce qui a fonctionné pour moi 'print $ {(j: :) input/(# b) ([^ A-Za-z0-9 _. \! ~ * \ '\ (\) - \ /]) /% $ { (l: 2 :: 0:) $ (([## 16] #match))}} ' – Von