Mittwoch, 16. Februar 2011

Strings in Dateien finden u. mit vim nacheinander abarbeiten

Mal angenommen es existieren diverse Dateien in einem Ordner.
In Manchen Dateien taucht der string 'user=xxx' auf.
Nun moechte ich alle Dateien in denen 'user=' auftaucht nach einander editieren ohne jede datei einzeln öffnen zu müssen.

for i in $(grep -l 'user=' `find files/`) ;do vim +/user= $i ;done


grep -l 'user='
-> listet lediglich /Pfad/Dateiname aller Dateien welche den String 'user=' enthalten

vim +/user=
-> Vim springt in die erste Zeile welche 'user=' enthaelt


Alle Dateien werden der reihe nach geöffnet bis keine mehr übrig ist.

Getestet: bash, zsh

1 Kommentar: