Hallo,
ich möchte gerne aus einem Textfile Zeilen entfernen, die bestimmte Eigenschaften haben
(z.B. alle Zeilen mit weniger als 3 Zeichen sollen entfernt werden)
1) Die erste Idee war, dass ich "einfach"
Code:
sed -i 's@text @@g' file.txt
mache, also alle Zeilen lösche, die mehr als 3 Leerzeichen haben. Das funktioniert leider
nicht, da in der ersten Bedingung keine Leerzeichen akzeptiert werden(?)
2) Nun verwende ich einen etwas aufwendigeren Code:
Code:
#!/bin/bash
j = 1
cat file.txt | while read line
do
j=$(( $j + 1 ))
count=$(echo $line | wc -c)
#if [ $count -eq 1 ] || [ $count -eq 2 ] || [ $count -eq 3 ];
if [ $count -eq 3 ];
then
sed -e $j'd' file.txt | tee out.txt
fi
done
Hier ist die Idee, den Textfile durchzugehen und alle Zeilen, die eine bestimmte Bedingung
erfüllen zu eleminieren.
Leider macht die Zeile
Code:
sed -e $j'd' PT-093A.txt | tee out.txt
Probleme. Ich denke mal, dass das nicht die richtige Form ist Strings zu einem Kommando zusammenzuführen.
Wenn jemand eine Lösung oder eine bessere Idee hat, dann würde ich mich freuen.
Vielen Dank!
gordon2
Lesezeichen