Есть ли команда или набор команд, которые я могу использовать для горизонтального выравнивания строк текста по произвольному символу? Например, со списком адресов электронной почты в результате будет получен текстовый файл со всеми символами «@», выстроенными вертикально.
Чтобы быть успешным, я считаю, что переменное количество пустых мест должно быть добавлено в начало большинства строк. Я не хочу отдельных столбцов, поскольку они требуют больше усилий для чтения (например,column -t -s "@" < file.txt
).
Перед:
123@example.com
456789@example.net
01234@something-else.com
После:
123@example.com
456789@example.net
01234@something-else.com
Другими словами: могу ли я указать символ как опорную точку, вокруг которой окружающий текст горизонтально центрирован? Мой вариант использования для этого - адреса электронной почты, чтобы их было проще сканировать визуально.
@
символы не должны быть проблемой с адресами электронной почты, но пользователь должен иметь возможность выбрать, какой экземпляр символа в строке будет «якорем», вокруг которого центрируется другой текст.
@
адресах электронной почты допускается несколько символов, например tom"@brossmann"@example.com
. Вот почему я спросил, что должно произойти, если есть несколько @
символов :).
@
символов не допускаются в различных почтовых службах. Вполне разумно ожидать, что «нормальные» электронные письма соответствуют более строгим стандартам, чем «реальные», если вы не имеете дело с необработанным, нефильтрованным пользовательским вводом, и в этом случае вы, скорее всего, будете иметь дело со строками без @
.
@
символов?