En tant que newbee Unix, je veux analyser le chemin complet du fichierAffecter une valeur à une variable après une coupe?
/Users/E/atsp_0001.tar.gz
dans 0001
et affecter la 0001
à la variable sub_id
.
L'analyse syntaxique, bien que les travaux peut-être maladroit, comme ceci:
E$ file=/Users/E/atsp_0001.tar.gz
E$ echo ${file##*/} | cut -d "_" -f2 | cut -d "." -f1
0001
Ensuite, je ne ai pas affecter le 0001
à une variable comme ceci:
E$ file=/Users/E/atsp_0001.tar.gz
E$ sub_id=${file##*/} | cut -d "_" -f2 | cut -d "." -f1
E$ echo ${sub_id}
E$
Je serais très heureux, si (0) expliquer pourquoi cela ne fonctionne pas et comment le réparer, et (2) améliorer l'analyse maladroite.
Merci beaucoup! (1) L'écho ne signifie donc pas «imprimer», n'est-ce pas? (2) L'analyse n'est-elle pas maladroite? –