J'écris un script bash et je dois vérifier si un nom de fichier a un numéro à la fin (après un point) et si c'est le cas, mais je ne peux pas comprendre comment utiliser l'expression régulière sur une variable ou une chaîne.
J'ai pu utiliser echo
dans le terminal pour diriger une chaîne dans grep, comme ceci:
echo "filename.txt.123" | egrep -o "\.[0-9]+$" | egrep -o "[0-9]+"
Mais je dois assigner la sortie de ceci à une variable. J'ai essayé de faire ceci:
revNumber= echo "filename.txt.123" | egrep -o "\.[0-9]+$" | egrep -o "[0-9]+"
Mais ça ne marche pas. J'ai aussi essayé d'autres choses, mais rien n'était valable.
Dans mon script bash, je veux utiliser grep sur une variable et non sur une chaîne, mais le concept est le même.
Comment puis-je utiliser grep sur une chaîne ou une variable puis sauvegarder le résultat dans une autre variable?
r=`echo abc`
echo $ r