comment passer la variable à awk dans bash pour analyser la valeur [duplicate]

Aug 30 2020

En utilisant awk lorsque j'essaye d'analyser le dernier dossier, j'obtiens l'erreur "No such file or directory". Comment passer une variable à awk

CacheLocation="/home/dir1/tempdl/abc-cache"
cacheFolderName=$(awk -F/ '{print $NF}' $CacheLocation) 

Réponses

2 Marco Aug 30 2020 at 17:52

awk ne fonctionne pas sur les chaînes, il attend l'entrée sous forme de fichier ou stdin

CacheLocation="/home/dir1/tempdl/abc-cache"
cacheFolderName="$(awk -F/ '{print $NF}' <<<"$CacheLocation" )"

Dans ce cas particulier, il peut être plus facile à utiliser basename

CacheLocation="/home/dir1/tempdl/abc-cache"
cacheFolderName="$( basename "$CacheLocation" )"