Linux tr zum Konvertieren von vertikalem Text in horizontalen

Linux tr zum Konvertieren von vertikalem Text in horizontalen

Ich habe gelesen überhttps://stackoverflow.com/questions/39791042/vertikalen Text in horizontale Form in der Shell umwandeln und frage mich, ob tres allein verwendet werden kann, um vertikalen Text in horizontalen umzuwandeln.

user@linux:~$ seq 3
1
2
3
user@linux:~$ 

Ich habe die folgende Lösung ausprobiert, sie funktioniert, ist aber nicht perfekt.

user@linux:~$ seq 3 | tr -d '\n'
123user@linux:~$ 
user@linux:~$ 

Wäre es möglich, es trallein zu verwenden, um eine solche Ausgabe zu erzielen?

Gewünschte Ausgabe

user@linux:~$ seq 3 | tr command here
123
user@linux:~$ 

Antwort1

Wählen Sie, was für Sie funktioniert.

$ seq 3 | paste -s -d ''
123
$ seq 3 | tr -d '\n';echo
123
$ seq 3 | awk 1 ORS='';echo
123

Antwort2

$ seq -s '' 3
123

Dies weist an seq, die leere Zeichenfolge als Trennzeichen für die Zahlen zu verwenden (anstelle des standardmäßigen Zeilenumbruchzeichens).

Antwort3

Versuche dies,

 seq 3 | paste -s -d ''
 123
  • -d, Trennzeichen als Null
  • -s, seriell statt parallel drucken

Antwort4

Eine Lösung könnte sein

echo $(seq 3 | tr -d '\n')

Da Sie mit Switch alle Zeilenumbrüche entfernen, -d '\n'müssen Sie den letzten mit einem Trick erneut hinzufügen.

verwandte Informationen