100 Zeichen aus Zeile löschen

S

SimpleS

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
 
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
 
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
 
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 :)
 
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
 
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
 
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?
 
Zuletzt bearbeitet:
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,
 
cut -n -c 9,10 datei.txt muesste auch funktionieren.
 

Ähnliche Themen

Hilfe für ein shell script

perl: Zusammenführen von Zeilen, die mit Leerzeichen beginnen.

Textdatei filtern und löschen mit grep /sed

Keine grafische Oberfläche (Debian Installation)

Textformatierung nach Cut "\" nach jeder Zeile?

Zurück
Oben