Czy istnieje polecenie lub zestaw poleceń, których można użyć do wyrównania linii tekstu w poziomie do dowolnego znaku? Na przykład z listą adresów e-mail dane wyjściowe utworzyłyby plik tekstowy ze wszystkimi znakami „@” ustawionymi pionowo.
Aby odnieść sukces, uważam, że na początku większości wierszy należy dodać zmienną liczbę pustych spacji. Nie chcę osobnych kolumn, ponieważ czytają więcej wysiłku (na przykład column -t -s "@" < file.txt
).
Przed:
123@example.com
456789@example.net
01234@something-else.com
Po:
123@example.com
456789@example.net
01234@something-else.com
Innymi słowy: czy mogę określić znak, który ma być punktem kontrolnym, wokół którego otaczający tekst jest wyśrodkowany w poziomie? Mój przypadek użycia to adresy e-mail, aby ułatwić ich skanowanie wizualne.
@
symboli nie powinno stanowić problemu z adresami e-mail, ale użytkownik powinien być w stanie wybrać, które wystąpienie znaku w wierszu ma być „kotwicą”, wokół której drugi tekst jest wyśrodkowany.
@
adresów jest dozwolonych w adresach e-mail, np tom"@brossmann"@example.com
. Dlatego zapytałem, co powinno się stać, jeśli jest wiele @
symboli :).
@
symboli nie jest dozwolonych w różnych usługach e-mail. Całkowicie uzasadnione jest oczekiwanie, że „normalne” e-maile będą pasować do bardziej rygorystycznych standardów niż „prawdziwe”, chyba że masz do czynienia z nieprzetworzonymi, niefiltrowanymi danymi wejściowymi użytkowników, w którym to przypadku bardziej prawdopodobne jest, że poradzisz sobie z liniami bez @
.
@
symboli?