Zeilenumbruch abhängig von Terminalfenster
Mark
- perl
0 CPAN0 Mark
Hallo,
ich führe in Perl folgenden Code in einem Perlskript unter Ubuntu aus:
print
bash -c "$tool -i test.log>store.log;chmod 777 store.log";
Dieser Code speichert eine Zeile mit ungefähr 80 Zeichen in "store.log". Abhängig von der Fenstergröße des Terminals, in dem ich das Perlskript aufrufe, bricht er die Zeile in "store.log" um oder nicht. Kann man den Zeilenumbruch verhindern?
Gruß
Mark
Kann ich nicht nachvollziehen:
$tool = './foo';
print `bash -c "$tool -i test.log>store.log;chmod 777 store.log"`;
#!/usr/bin/env perl
print "0123456789" x 30, "\n" for 1..25;
Zeige deinen *ganzen* Code.
Hi,
vielen Dank erstmal für deine Antwort. Verlassen wir mal Perl und führen das Tool direkt im Terminal aus:
$ bash -c "./tool -i test.log"
Dies erzeugt einen direkten Output im Terminalfenster. Ist dieses kleiner in der Breite als die Länge des Outputs wird dieser umgebrochen.
$ bash -c "./tool -i test.log>store.log"
Schreibt den Output direkt in "store.log". Auch hier wird die Zeile in "store.log" umgebrochen, sobald das Terminalfenster zu klein ist. Maximiere ich das Terminalfenster und wiederhole genau den selben Vorgang, wird die Zeile in "store.log" nicht umgebrochen.
Gruß
Moin!
vielen Dank erstmal für deine Antwort. Verlassen wir mal Perl und führen das Tool direkt im Terminal aus:
$ bash -c "./tool -i test.log"
Dies erzeugt einen direkten Output im Terminalfenster. Ist dieses kleiner in der Breite als die Länge des Outputs wird dieser umgebrochen.
"Normal". Wenn du das Ergebnis z.B. nach "less" pipest, sollte dir für die längere Zeilen eine Scrollmöglichkeit angeboten werden können.
$ bash -c "./tool -i test.log>store.log"
Schreibt den Output direkt in "store.log". Auch hier wird die Zeile in "store.log" umgebrochen, sobald das Terminalfenster zu klein ist. Maximiere ich das Terminalfenster und wiederhole genau den selben Vorgang, wird die Zeile in "store.log" nicht umgebrochen.
Das ist unnormal. Vermutlich ist dein Tool kaputt. Oder deine Shell.
- Sven Rautenberg
Moin!
vielen Dank erstmal für deine Antwort. Verlassen wir mal Perl und führen das Tool direkt im Terminal aus:
$ bash -c "./tool -i test.log"
Dies erzeugt einen direkten Output im Terminalfenster. Ist dieses kleiner in der Breite als die Länge des Outputs wird dieser umgebrochen.
"Normal". Wenn du das Ergebnis z.B. nach "less" pipest, sollte dir für die längere Zeilen eine Scrollmöglichkeit angeboten werden können.
Jep.
$ bash -c "./tool -i test.log>store.log"
Schreibt den Output direkt in "store.log". Auch hier wird die Zeile in "store.log" umgebrochen, sobald das Terminalfenster zu klein ist. Maximiere ich das Terminalfenster und wiederhole genau den selben Vorgang, wird die Zeile in "store.log" nicht umgebrochen.
Das ist unnormal. Vermutlich ist dein Tool kaputt. Oder deine Shell.
- Sven Rautenberg
Gut, dass mir das jemand bestätigt. Ich habe schon an mir gezweifelt. Dann schau ich mal was kaputt ist :-)
Hallo,
es hat sich geklärt. Es lag an dem Programm, dass aufgerufen wurde. Das ermittelt die Terminalbreite und setzt davon abhängig Zeilenumbrüche :-)
Gruß