fmt - użyj pojedynczej spacji między zdaniami


2

Zauważyłem, że fmt używa dwóch znaków spacji podczas łączenia zdań w liniach.

Dowództwo:

$ fmt << EOF
Hello world. 
This is a nice place. And a nice website too. I come here
to ask important questions.
Like this one.
EOF

Wydajność:

Hello world.  This is a nice place. And a nice website too. I come here
to ask important questions.  Like this one.

Czy istnieje sposób na wyłączenie tego zachowania i użycie zamiast tego pojedynczego miejsca?

Wiem, że trwa długa debata, czy należy użyć 1 czy 2 spacji po tym okresie. Ale to nie ma znaczenia w moim przypadku. Chcę tylko częściowo sformatować istniejące pliki tekstowe, wpisz 1 spację po kropce.


Zrobiłem kilka testów i wydaje się, że podwójna przestrzeń występuje tylko wtedy, gdy po kropce następuje nowa linia, chociaż utrzymywane są dowolne spacje w połowie zdania. Możesz odwrócić ten efekt poprzez potokowanie wyjścia sed 's/\. /. /g'. Z twoim dokumentem tutaj musisz zacząć od { fmt << EOF i dodaj } | sed 's/\. /. /g' w następnej linii. Aby usunąć wszystkie spacje, użyj sed 's/ */ /g' zamiast tego (zastąp gwiazdkę przestrzenno-przestrzenną spacją, jeśli format nie jest wyraźny).
AFH
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.