Extrait de nombre de longueur variable de chaîne
Je veux extraire un certain nombre de longueur variable à partir d'une chaîne.
La chaîne ressemble à ceci:
used_memory:1775220696
Je voudrais avoir la 1775220696
partie dans une variable. Il ya beaucoup de questions à ce sujet, mais je ne pouvais pas trouver une solution qui convient à mes besoins.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
cut
:Ou aussi
awk
:Utiliser le paramètre d'extension:
bash
.J'ai l'habitude d'utiliser egrep
De sortie:
bash
prend en charge correspondant à une expression rationnelle, mais pour un cas simple comme cela, il est exagéré; utiliser le paramètre d'expansion (voir choroba réponse).Par souci d'exhaustivité, voici un exemple d'utilisation d'expression régulière correspondant à:
utiliser les regex:
vous l'utilisez avec sed ou perl et obtenir la pièce dont vous avez besoin.
Peut être fait à l'aide de awk, comme ceci:
de sortie:
Si votre numéro pourrait être n'importe où dans la chaîne, mais vous savez que les chiffres sont contigus, vous pouvez utiliser le shell paramètre d'extension de supprimer tout ce qui n'est pas un chiffre:
Cela fonctionne aussi pour
used_memory:1775220696andmoretext
et123numberfirst
. Cependant, quelque chose commeabc123def456
deviendrait123456
.