Existe-t-il une commande ou un ensemble de commandes que je peux utiliser pour aligner horizontalement des lignes de texte sur un caractère arbitraire? Par exemple, avec une liste d'adresses e-mail, la sortie produira un fichier texte avec tous les caractères '@' alignés verticalement.
Pour réussir, je crois qu'un nombre variable d'espaces vides doit être ajouté au début de la plupart des lignes. Je ne veux pas de colonnes séparées car elles prennent plus d'effort à lire (par exemple, column -t -s "@" < file.txt
).
Avant:
123@example.com
456789@example.net
01234@something-else.com
Après:
123@example.com
456789@example.net
01234@something-else.com
Autrement dit: puis-je spécifier qu'un caractère soit un point d'ancrage autour duquel le texte environnant est centré horizontalement? Mon cas d'utilisation est celui des adresses e-mail, pour les rendre plus faciles à scanner visuellement.
@
symboles ne devraient pas être un problème avec les adresses e-mail, mais un utilisateur devrait être en mesure de sélectionner l'instance d'un caractère par ligne qui sera l'`` ancre '' autour de laquelle l'autre texte sera centré.
@
symboles sont autorisés dans les adresses e-mail, par exemple tom"@brossmann"@example.com
. C'est pourquoi j'ai demandé ce qui devrait arriver s'il y a plusieurs @
symboles :).
@
symboles ne sont pas autorisés dans une variété de services de messagerie. Il est tout à fait raisonnable de s'attendre à des e-mails "normaux" qui correspondent à un standard plus strict que le "vrai", à moins que vous n'ayez affaire à des entrées utilisateur brutes et non filtrées, auquel cas vous êtes plus susceptible de traiter des lignes sans réponse @
.
@
symboles?