Ich habe ein Skript, das den folgenden Text ausgibt. Dies ist die Ausgabe eines Netopia 2210-02 ADSL2- Modems.
ADSL Line State: Up
ADSL Startup Attempts: 1
ADSL Modulation: DMT
ADSL Data Path: Fast
Datapump Version: DSP 7.2.3.0, HAL 7.2.1.0
SNR Margin: 8.20 9.00 dB
Line Attenuation: 57.50 31.00 dB
Output Power: 17.09 12.34 dBm
Errored Seconds: 0 0
Loss of Signal: 0 476
Loss of Frame: 0 0
CRC Errors: 57921 416
Data Rate: 2880 1024
Wie kann ich das Zeilenendezeichen für jede Zeile entfernen? Ich möchte, dass die Ausgabe so aussieht (Ja, es ist hässlich):
ADSL Line State: Up ADSL Startup Attempts: 1 ADSL Modulation: DMT ADSL Data Path: Fast Datapump Version: DSP 7.2.3.0, HAL 7.2.1.0 SNR Margin: 8.20 9.00 dB Line Attenuation: 57.50 31.00 dB Output Power: 17.09 12.34 dBm Errored Seconds: 0 0 Loss of Signal: 0 476 Loss of Frame: 0 0 CRC Errors: 57921 416 Data Rate: 2880 1024
Ich habe einige Lösungen wie diese ausprobiert, aber sie funktionieren nicht:
# (This simply outputs the contents of the script, unmodified)
stefanl@hosta:~/Work/Cacti $ ./script | sed -e 's/$//'
Ich habe auch versucht mit tr
. Ich hatte erwartet, dass der folgende Befehl jedes Zeilenumbruchzeichen durch das Leerzeichen ersetzt. Dies würde die mehreren Zeilen nehmen und sie zu einer langen einzelnen Zeile kombinieren. Stattdessen wird nur die letzte Ausgabezeile angezeigt. Es scheint jede nachfolgende Zeile mit der nächsten Ausgabezeile zu überschreiben.
stefanl@hosta:~/Work/Cacti $ ./script | tr '\n' ' '
Data Rate: 2880 1024stefanl@hosta:~/Work/Cacti $
stefanl@hosta:~/Work/Cacti $
Update :
Bei weiterer Prüfung sieht es so aus, als ob jeder Zeile ein Rückkehrzeichen vorangestellt ist. Dies zeigt sich wie ^M
bei der Verwendung less
. Also habe ich zwei tr
Aussagen hinzugefügt . Eines zum Löschen von Zeilenumbrüchen und eines zum Löschen des Rückgabewerts.
./script | | tr -d '\n' | tr -d '\r'
tr '\n' ' '
undtr -d '\n'
wickeln die Linie auf seltsame Weise. Ich habe meine Frage aktualisiert, um die Ergebnisse anzuzeigen. Vielleicht muss ich es benutzentr
, aber ich muss nur herausfinden, wie ich es richtig benutze.