fmt - Verwenden Sie ein Leerzeichen zwischen Sätzen

266
m000

Ich habe bemerkt, dass fmt zwei Leerzeichen verwendet, wenn Sätze über Zeilen hinweg verbunden werden.

Befehl:

$ 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 

Ausgabe:

Hallo Welt. Dies ist ein schöner Ort. Und auch eine schöne Website. Ich komme hierher wichtige Fragen stellen. Wie dieser.

Gibt es eine Möglichkeit, dieses Verhalten zu deaktivieren und stattdessen ein einzelnes Leerzeichen zu verwenden?

Ich weiß, dass es eine lange Debatte gibt, ob nach der Periode 1 oder 2 Felder verwendet werden sollen. Dies ist jedoch in meinem Fall nicht relevant. Ich möchte vorhandene Textdateien nur teilweise neu formatieren und nach dem Punkt ein Leerzeichen verwenden.

2
Ich habe einige Tests durchgeführt, und es scheint, dass das doppelte Leerzeichen nur dann auftritt, wenn auf einen Punkt eine neue Zeile folgt, obwohl mehrere Leerzeichen in der Mitte des Satzes beibehalten werden. Sie können diesen Effekt umkehren, indem Sie die Ausgabe über `sed 's / \ leiten. /. / g ". Mit Ihrem Here-Dokument müssen Sie mit | hinzufügen sed 's / \. /. / g'` in der nächsten Zeile. Um alle mehreren Leerzeichen zu entfernen, verwenden Sie stattdessen sed / s / * / / g (ersetzen Sie das Leerzeichen durch Leerzeichen, wenn das Format nicht eindeutig ist). AFH vor 5 Jahren 0

0 Antworten auf die Frage