100 Zeichen aus Zeile löschen

S

SimpleS

Gast
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
 

Always-Godlike

Das Freak
Beiträge
939
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
 

Wolfgang

Foren Gott
Beiträge
3.978
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
 
G

Guest

Gast
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 :)
 

Fre3mind

Grünschnabel
Beiträge
5
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
 

zst

Foren As
Beiträge
95
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
 

Fre3mind

Grünschnabel
Beiträge
5
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:

Fre3mind

Grünschnabel
Beiträge
5
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,
 

Ä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?

Sucheingaben

sed Anzahl zeichen löschen

,

unix shell bei bei zeichen zeile entfernen

,

sed zeichen löschen

,
linux sed zeichen löschen

Neueste Themen

Oben