On 18.05.21 17:02, tomas(a)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