* Leune, Tilman <[EMAIL PROTECTED]> [021009 19:02]: > Ich möchte in ca 400 nahezu gleichen konfigurationsdateien eine Zeile > einfügen respektive aktualisieren > > bedingungen: > > WENN $alte_befehls_zeile nicht existiert, füge $neue_befehlszeile ein > vor $Zeile_mit bestimmten_Inhalt. SONST ersetze &alte_befehls_zeile > durch $neue_befehlszeile
Ohne Rücksicht auf Performance: jsa@anna:~/temp$ cat file1 foo bar Zeile mit bestimmtem Inhalt baz jsa@anna:~/temp$ cat file2 foo bar Alte Befehlszeile baz jsa@anna:~/temp$ cat skript #!/bin/bash alte_befehlszeile="Alte Befehlszeile" neue_befehlszeile="Neue Befehlszeile" Zeile_mit_bestimmtem_Inhalt="Zeile mit bestimmtem Inhalt" for f in file? do mv "$f" "$f.bak" if grep "$alte_befehlszeile" "$f.bak" >/dev/null then sed 's/^'"$alte_befehlszeile"'$/'"$neue_befehlszeile"'/' "$f.bak" >"$f" else sed '/^'"$Zeile_mit_bestimmtem_Inhalt"'$/{x;s/^/'"$neue_befehlszeile"'/;G;}' "$f.bak" >"$f" fi done jsa@anna:~/temp$ ./skript jsa@anna:~/temp$ cat file1 foo bar Neue Befehlszeile Zeile mit bestimmtem Inhalt baz jsa@anna:~/temp$ cat file2 foo bar Neue Befehlszeile baz Beste Grüsse - Jürgen -- Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)