pro letzte 15 Zeichen entfernen

Diskutiere pro letzte 15 Zeichen entfernen im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo zusammen, wie kann ich die letzten 15 Zeichen pro Zeile in einem Text-File entfernen (die Zeilen haben eine unterschiedliche Anzahl von...

  1. #1 AlexNBG276, 11.02.2009
    AlexNBG276

    AlexNBG276 Jungspund

    Dabei seit:
    12.12.2008
    Beiträge:
    12
    Zustimmungen:
    0
    Hallo zusammen,

    wie kann ich die letzten 15 Zeichen pro Zeile in einem Text-File entfernen (die Zeilen haben eine unterschiedliche Anzahl von Zeichen).

    Vielen Dank für Support!
     
  2. #2 bitmuncher, 11.02.2009
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.175
    Zustimmungen:
    3
    Mit einem Skript. Schnellschuss:

    Code:
    #!/usr/bin/perl -w
    
    open FILE, "test.txt";
    my $line;
    
    while ($line = <FILE>) {
        $line =~ /(.*).{15}/;
        print $1."\n";
    }
    
    Geht aber sicherlich auch ganz elegant irgendwie mit sed. Ich mag sed aber nunmal nicht. ;)
     
  3. #3 Gott_in_schwarz, 11.02.2009
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Geht mit sed:
    Code:
    sed -e 's/.\{15\}$//' infile
    Aber auch problemlos mit perl:
    Code:
    perl -pe 's/.{15}$//' infile
    Beide Varianten schreiben das Ergebnis auf stdout und lassen Zeilen mit weniger als 15 Zeichen unberührt. (!)
     
  4. #4 bitmuncher, 11.02.2009
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.175
    Zustimmungen:
    3
    Achja... das erinnert mich daran, dass ich mir mal die Parameter von Perl einprägen sollte. :)
     
  5. Akendo

    Akendo 4k3nd0

    Dabei seit:
    05.02.2008
    Beiträge:
    396
    Zustimmungen:
    0
    <3 Gott in Schwarz
     
  6. #6 Gott_in_schwarz, 11.02.2009
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Joar, kenne keine Sprache, die CLI textprocessing so liep und flauschig macht wie perl.
    Die wichtigsten switch-Kombis sind imho -pe (sed like) -ne (sed -n like), -ane (awk like, dann auch mit -F als field seperator) sowie -l, -0 und -M.

    What the ....? Du bist aber einfach zu beeindrucken ;)

    Alibi ontopic:
    Code:
    perl -lpe 'substr($_, -15) = ""' infile
    Das funktioniert auch mit Zeilen < 15 Zeichen. (Diese werden dann einfach komplett gelöscht. Das ist btw einfach nur ein leicht verändertes Beispiel aus "perlrun".)
     
  7. #7 bitmuncher, 12.02.2009
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.175
    Zustimmungen:
    3
    Jo, wenn man genauer drüber nachdenkt (was ich zugegebenermaßen selten beim Beantworten in Foren tue :D ), dann fallen einem irgendwie zig andere Möglichkeiten ein.
     
Thema:

pro letzte 15 Zeichen entfernen

Die Seite wird geladen...

pro letzte 15 Zeichen entfernen - Ähnliche Themen

  1. abschneiden nach letztem Zeichen einer Zeile

    abschneiden nach letztem Zeichen einer Zeile: Hallo, ich möchte nach dem letzten Zeichen einer Zeile [0-9 oder A-Z] mögliche Leerzeichen entfernen. Beispiel aus: ADASDF_ASDFASDF____ (...
  2. Die letzten X Zeichen eines Strings einlesen - wie?

    Die letzten X Zeichen eines Strings einlesen - wie?: Hallo zusammen, ich bin auf der Suche nach dem Befehl, mitdem ich die letzen x Zeichen eines Strings auslesen kann. Soll heißen: String...
  3. KDE Applications 15.12. erhält eine letzte Aktualisierung

    KDE Applications 15.12. erhält eine letzte Aktualisierung: Mit KDE Applications 15.12.3 erhalten die KDE-Applikationen eine letzte Aktualisierung dieses Zyklus. Als Nachfolger steht bereits KDE...
  4. Google veröffentlicht letzte Vorschau auf Android M und Android 6.0 SDK

    Google veröffentlicht letzte Vorschau auf Android M und Android 6.0 SDK: Wie vielfach bereits erwartet, wird Android M als Android 6.0 Marshmellow veröffentlicht. Das verkündete Google jetzt und gab gleichzeitig die...
  5. Letzte Versionen von Cyanogenmod 11 und 12 erschienen

    Letzte Versionen von Cyanogenmod 11 und 12 erschienen: Das Cyanogenmod-Projekt hat zum letzten Mal Schnappschüsse der Versionen 11 und 12.0 zum Download bereitgestellt. Die weitere Entwicklung...