fantatrinker Geschrieben 14. November 2002 Geschrieben 14. November 2002 Hallo ! Habe da ein Problem mit einer Datei unter Solaris . Sie ist riesen groß und ich möchte bestimme Wörter suchen und löschen. Die einzelnen Wörter sind durch Kommata getrennt. Es gibt also drei Fälle : wortx soll gelöscht werden. Fall 1 (eine Zeile) wortx Fall 2 (eine Zeile) wort1,wortx Fall3 (eine Zeile) wort1,wortx,wort2 Zu Fall 1 & 2 habe ich bereits eine Lösung mit dem "expr" -Befehl , aber wie schaut´s mit Fall 3 aus ? In dem Fall müssen "wortx" und "," mitten herausgeschnitten werden. Gehen wir davon aus, das es keinen Zeilenumbruch gibt, wie bekomme ich Fall 3 hin ? Freaks gefragt ! MfG fants Zitieren
DanielB Geschrieben 14. November 2002 Geschrieben 14. November 2002 Könntest Du mit sed oder Perl erledigen : sed : Wenn Du nur das erste Vorkommnis von "wortx," löschen willst : /usr/bin/sed -e s/wortx,//' dateiname > neuer Dateiname Wenn Du alle Vorkommnisse von "wortx," löschen willst : /usr/bin/sed -e 's/wortx,//g' dateiname > neuer Dateiname Wenn Du alle Vorkommnis von "wortx," durch "worty" ersetzen willst : /usr/bin/sed -e 's/wortx,/worty/g' dateiname > neuer Dateiname Perl : Das erste Vorkommnis von "wortx," /usr/bin/perl -pe 's/wortx,/[wie oben beschriebene Optionen und Varianten]/' \ < Dateiname > neuer Dateiname bzw. alle Vorkommnisse von "wortx," /usr/bin/perl -pe 's/wortx,/[wie oben beschriebene Optionen und Varianten]/g' \ < Dateiname > neuer Dateiname Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.