On 18.05.21 17:02, tomas@tuxteam.de wrote:
On Tue, May 18, 2021 at 04:46:08PM +0200, Lars Hennig wrote:
Am 18.05.21 um 16:25 schrieb Arno:
Hi, eigentlich wollte ich nur in einem File ... {0x123, 0x45 {0x123, 0x45 {0x123, 0x45
{0x100, 0x01
jeweils das Ende der Zeile mit }, abschließen.
Alle meine Versuche mit sed scheitern. Warum?
sed 's/$/},/' file.txt
müsste doch gehen oder nicht?
[...]
Hallo Arno,
ist das vielleicht ein File mit DOS Linebreaks? Bei mir geht sed -e 's/([0-9])\s*$/\1},/g' file.txt
Hi,
ich geb zu ich stehe mit regexp auf Kriegsfuß .. ich brauch es einfach zu selten um mir das zu merken.
Google jedesmal danach und dann findet man nur die Basics
Ich sehe die Erfinder immer vor mir wie sie wild ums Feuer tanzen und sich diebisch freuen endlich eine zwar logische aber unleserliche Syntax erschaffen zu haben die jeden nicht-Nerd in den Wahnsinn treibt.
Also das hilft so nicht ganz, weil eine Zeile auf mit a..f enden kann.
Kann mir die Zeile jemand erklären? Gibt es kein "*" das jeden Charakter beschreibt?
Genaugenommen bearbeite ich das file in 3 Schritten, weil es am Anfang die "{" braucht und 0x for die Zahlen und ein Komma dazwischen. Ich bin mir sicher man kann das auch mit einem noch unleserlichem Ausdruck hinbekommen ;)
Wieso versagt das so kläglich nur weil es im Windows-Format ist? Ich dachte schon an sowas, aber Zeilenende ist Zeilenende.
Das Dos2linux ist bei mir nicht drauf, das wäre wahrscheinlich der einfachere Weg. Aber ich war auch neugierig auf die Regexp.
Danke,
Arno
Ich habe mir die Freiheit genommen, die Zitate umzudrehen (mag zwar TOFU, aber nicht in Mails ;)
Ich glaube, Lars hat den richtigen Riecher. Bei mir funktioniert auch Arnos sed (Tip: sed -e '...' ist besser als nur sed '...').
@Arno: mach doch mal "hexdump -C file.txt" ( | less, falls die Datei gross ist).
lg -- t