100 Zeichen aus Zeile löschen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von SimpleS, 16.11.2008.

  1. #1 SimpleS, 16.11.2008
    SimpleS

    SimpleS Grünschnabel

    Dabei seit:
    16.11.2008
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo Leute,

    Ich habe ein großes Problem.

    Ich habe 500 Textdateien, aus denen ich von jeder Zeile die ersten 100 Zeichen löschen muss. Geht sowas?

    Kann mir da jmd helfen?

    Bin am verzweifeln.

    Gruß

    Simon
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 gropiuskalle, 16.11.2008
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    Hilft Dir vielleicht 'cut' weiter?
     
  4. #3 Always-Godlike, 16.11.2008
    Always-Godlike

    Always-Godlike Das Freak

    Dabei seit:
    31.12.2006
    Beiträge:
    939
    Zustimmungen:
    0
    Ort:
    Saarland
    Da du ein verzweifelnder Neuling bist, anscheinend "cut" nicht kennst, ich den anderen Schreibarbeit beim beantworten der wahrscheinlich weiteren Fragen abnehmen will und ich heut gut drauf bin, hier mal ne speziellere Hilfe, wobei du dir "man cut" trotzdem mal anschauen solltest. Kann bei Bash-Skripting nicht verkehrt sein.

    Code:
    cat datei.txt | cut -c 100-
    Wie du diesen Inhalt jetzt wieder in die ursprüngliche Datei kriegst musste aber selber rausfinden, sonst is ja langweilig.


    Always-Godlike
     
  5. #4 Wolfgang, 17.11.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Du kennst sed?
    Das ist dafür geschaffen.
    GNU sed kennt sogar die Option -i
    Hier ohne selbige nur prinzipiell

    Code:
    sed -e '1,100d' input >output
    
    mehr in man sed
    Gruß Wolfgang
     
  6. #5 Tomekk228, 17.11.2008
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    Da es sich um 500 Dateien handelt erweitere ich es ein wenig ;)

    Code:
    #!/bin/bash
    for i in $(ls)
    do 
    mv $i ${i}old
    cat ${i}old | cut -c 100- > $i 
    rm ${i}old
    done
    
    Das führst du in dem Ordner aus indem sich die 500 Dateien befinden. Natürlich muss du den Codeschnippsel vorher als Bashskript speichern :)
     
  7. #6 Fre3mind, 23.11.2014
    Fre3mind

    Fre3mind Grünschnabel

    Dabei seit:
    22.11.2014
    Beiträge:
    5
    Zustimmungen:
    0
    Hey,
    tut mir leid das ich den alten Threat wieder ausgrabe, aber kurze Frage: Ich mach alles wie hier beschrieben aber in der neuen Datei wird jede Zeile mit einem Leerzeichen begonnen :/ (was sich auch nicht mit einem erneueten -c 1- befehl löschen lässt. Habt ihr eine Idee wie ich das wegbekomme?


    Formatierungsbefehl:
    cat datei.txt | cut -c 100-


    lG
     
  8. zst

    zst Foren As

    Dabei seit:
    06.09.2006
    Beiträge:
    95
    Zustimmungen:
    0
    Könnte das 100. Zeichen in deiner Datei ein Leerzeichen sein?
    Du schreibst ".. mit einem erneueten -c 1- befehl löschen .." --- nimm -c 2
    Gruß zst
     
  9. #8 Fre3mind, 08.12.2014
    Zuletzt bearbeitet: 08.12.2014
    Fre3mind

    Fre3mind Grünschnabel

    Dabei seit:
    22.11.2014
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo,
    das war nur das Beispiel von oben das genutzt wurde. Bei mir war der Befehl:

    cat datei.txt | cut -c 19-

    Ich probiers mal. Danke!

    Woran kann es liegen wenn er es nicht Zeile für Zeile wiederholt sondern nach der ersten abbricht?
     
  10. #9 Fre3mind, 18.12.2014
    Fre3mind

    Fre3mind Grünschnabel

    Dabei seit:
    22.11.2014
    Beiträge:
    5
    Zustimmungen:
    0
    Habe das Problem gelöst, lag an der txt Datei formatierung. Wie würde ich den "von bis" löschen? Also beispielsweise nur Zeichen 9 und 10?


    Dank,
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. #10 Spröde, 19.12.2014
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    Code:
    cut -c -8,11- datei.txt
     
  13. #11 tgruene, 19.12.2014
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    cut -n -c 9,10 datei.txt muesste auch funktionieren.
     
Thema: 100 Zeichen aus Zeile löschen
Besucher kamen mit folgenden Suchen
  1. unix shell bei bei zeichen zeile entfernen

Die Seite wird geladen...

100 Zeichen aus Zeile löschen - Ähnliche Themen

  1. Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...

    Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...: Ich habe eine Textdatei in der ich Einträge bis zum 3. Leerzeichen mit den restlichen Zeilen (auch nur bis 3. Leerzeichen) vergleichen muss und...
  2. Zeichen an Zeilenanfang für bestimmten Zeilenbereich einfügen

    Zeichen an Zeilenanfang für bestimmten Zeilenbereich einfügen: Hallo, ich würde gerne in einem Textdokument, z.B. von Zeile 10 - 18, an den Zeilenanfang ein # einfügen. Habe mir schon diverse Seiten zu SED...
  3. Text mit mehreren Zeilen und Sonderzeichen ersetzten

    Text mit mehreren Zeilen und Sonderzeichen ersetzten: Hallo zusammen, ich bin in Sachen Programmierung noch relativ neu und frisch unterwegs und bräuchte etwas Unterstützung wenn möglich. Im...
  4. Script Zeilenumbruch -> Leerzeichen

    Script Zeilenumbruch -> Leerzeichen: Wie muß folgendes Script für die Bash aussehen: Ich habe eine Textdatei mit einer Liste von (distributionseigenen)-Programmen, die ich...
  5. grep: Leerzeichen am Zeilenanfang werden nicht gefunden

    grep: Leerzeichen am Zeilenanfang werden nicht gefunden: Hallo, habe eine Datei, wo am Anfang der Zeile drei Leerzeichen sind und die Zeichenfolge xyz. Ich möchte diese Zeile finden, indem ich nach...