À partir d'une chaîne d'une longueur indéterminée, j'ai besoin de faire exactement 43 caractères (rembourré avant avec des zéros). Il va contenir des adresses IP et des numéros de port. Quelque chose comme:J'ai besoin de tamponner les adresses IP avec des zéros pour chaque octet
### BEFORE
# Unfortunately includes ':' colon
66.35.205.123.80-137.30.123.78.52172:
### AFTER
# Colon removed.
# Digits padded to three (3) and five (5)
# characters (for IP address and port numbers, respectively)
066.035.005.123.00080-137.030.123.078.52172
Ceci est similaire à la sortie produite par tcpflow.
Programmation dans Bash. Je peux fournir une copie du script si nécessaire.
Si cela est possible, il serait bon d'utiliser un bash intégré, pour la vitesse. Est-ce que printf
est approprié pour ce genre de chose?
$ IFS - vous m'avez aidé avec celui-là plus d'une fois maintenant DW :) –
Réponse acceptée pour l'utilisation non exécutables externes. –
Cela fonctionne. Mais j'aimerais savoir pourquoi un tableau a été utilisé? Est-ce qu'une seule variable avec des valeurs séparées par des espaces _not_ fait aussi le travail? Cela entrerait-il en conflit avec 'printf' d'une façon ou d'une autre? –