Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Turnen auf der Kommandozeile

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
PapaQ
Gast





BeitragVerfasst am: 14. Nov 2004 17:43   Titel: Turnen auf der Kommandozeile

Hallo Freunde des Tux:-)

Ich habe 2 Fragen:

a)

Ich habe ein File mit folgendem Inhalt

----------- before.txt ------------
:CURVE
-11, -12, -20, 40, 120, ......
------------------------------------

dieses File möchte ich mittels Kommandozeile zu folgendem "wandeln":
----------- after.txt -------------
-11
-12
-20
40
120
..
..
------------------------------------

oder

---------- after2.txt -------------
-11,
-12,
-20,
40,
120,
..,
..,
------------------------------------

gibts da ein Kommando oder eine Verknüpfung, die das so hinkriegt?


b)

Ich möchte was aus einer seriellen Schnitstelle lesen. Ist ja kein Problem mit
cat /dev/ttySx > RS-out.txt

Dieses Kommando bleibt jetzt "hängen", solange ich CTRL+C drücke. Ich weiss aber, dass das letzte Zeiche, das von der RS kommt, ein <Ausdruck> ist. Wie kann ich etwas aus einer seriellen Schnittstelle (oder allgemein File) lesen, bis <Ausdruck> (z.B. CL/LF) kommt und dann wieder an die Kommandozeile geben?

Danke und Gruess

h-bert
 

heinrich



Anmeldungsdatum: 22.09.1999
Beiträge: 219
Wohnort: N49.137 E8.544

BeitragVerfasst am: 14. Nov 2004 20:52   Titel:

a)
Code:
awk 'BEGIN{RS=","}{if (NR>1) {printf("%s\n", $1);}}' < before.txt > after.txt

oder
Code:
awk 'BEGIN{RS=","}{if (NR>1) {printf("%s,\n", $1);}}' < before.txt > after2.txt

_________________
It just works.
 
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 14. Nov 2004 21:19   Titel:

Blöd - erst werd ich während des Tippens abgelenkt und dann ist danach jemand schneller gewesen... Smile Egal, hier meine Variante:
Code:
awk 'NR > 1 { gsub (/,/,"\n") ; print}' before.txt > after.txt
Und Teil 2:
Code:
awk 'NR > 1 { gsub (/,/,",\n") ; print}' before.txt > after2.txt

gsub ersetzt in der Eingabezeile, alle Kommata (/,/) durch Newlines ("\n") bzw. Komma und Newline ",\n". Diese Zeilen werden dann ausgegeben (print). "NR > 1" vor der Aktion sorgt dafür, dass nur die Zeilen ab der zweiten behandelt werden.

Jochen
_________________
Die grösste Lüge der EDV? "Mal eben..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy