• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

CUT und ähnliche beschneidungen :-)

A

Anonymous

Gast
Hi!
Wie müsste ich CUT verwenden, damit
1) jede zweite Zeile in einer Datei gelöscht wird? Und zwar am besten ohne danach in jeder betroffenen Zeile eine leere Zeile zu haben

2) im der gesamten Datei nach "^M" gesucht und gelöscht wird....

bisher konnte ich nur sachen suchen und ersetzen, aber genau das reicht hier nicht aus, der gefundene syntax muss komplett weg, wie schaffe ich das?
 
OP
A

Anonymous

Gast
ok, habs jetzt selbst gelöst:
einfach die datei mit kwrite öffnen.....ich hätte gedacht ich mach das mal per console, aber egal, bei kwrite gibts ja die "ersetzen" funktion.
 

regexer

Advanced Hacker
tha_specializt schrieb:
Hi!
Wie müsste ich CUT verwenden, damit
1) jede zweite Zeile in einer Datei gelöscht wird? Und zwar am besten ohne danach in jeder betroffenen Zeile eine leere Zeile zu haben
Da nimmt man am besten sed.
Code:
sed '1~2d' datei.txt > datei_neu.txt
Übersetzung: Lösche jede zweite Zeile. Beginne bei Zeile 1 mit der Zählung.
 

taki

Advanced Hacker
Wegen der ^Ms kann ich noch was beisteuern, habs aus nem Shell-Kurs aus der Ausbildungszeit (ich weis, dafür gibt es dos2unix, aber vielleicht kann mans mal für was anderes zum Ausschlachten gebrauchen :wink: ).


Code:
#!/bin/sh
if [ $# -gt 0  ]
then
  for var in $*
  do
     if [ -f $var ]
     then
        cat $var | tr '\015' '\040' > help$$
        mv help$$ $var
     fi
  done
else
  echo "usage: steuweg dat1 [dat2 ...]"
fi
 
Oben