Verwenden von sed zum Entfernen von "(Anführungszeichen) aus Codezeilen, während diese in echten Kommentaren in einer vimrc belassen werden

Verwenden von sed zum Entfernen von "(Anführungszeichen) aus Codezeilen, während diese in echten Kommentaren in einer vimrc belassen werden

Ich binEndlichlernen, wie man sedKonfigurationen während der Installation von Ubuntu (Server/Desktop) bearbeitet. Nach langem Zähneknirschen und Suchen nach der richtigen Syntax fürnichtEntfernen Sie die "Anführungszeichen (mit genaueinsLeerzeichen danach (echte Kommentare)), im Gegensatz zu den Zeilen, die potenziellen Code zum Umschalten enthalten (nullLeerzeichen oderzweiNachdem ich in der Datei /etc/vim/vimrc Leerzeichen für eingerückte Codezeilen eingefügt hatte, fand ich heraus, wie ich die Dinge mit dem folgenden Befehl zum Laufen bekomme:

$ sudo sed -i.orig '/^\" [a-zA-Z]\|^"set compatible\|^\" let g:skip_defaults_vim = 1b/! s/^\"//' /etc/vim/vimrc

Können mir die Gurus oder Lehrlinge bitte mitteilen, ob ich das besser (präziser/sauberer/usw.) hätte machen können?

Beispiel für awkdie Verwendung zum gleichen Ergebnis?

Danke schön.

Antwort1

Verwenden Sie die \1nummerierten Capture-Variablen im Änderungsziel wie folgts/^([[:space:]]*)"[[:space:]]*(let .*)/\1\2/

Auch verwendensed 'your change;another change' file > file.tmp$$ && mv file.tmp$$ file

Es ist die "sicherere" und portable Möglichkeit, Dateien an Ort und Stelle zu ändern alssed -i ...

Verwenden Sie für Dotfiles wie ~/.vimrcunter ~ und Conf-Dateien unter /etc Git, um sie lokal zu speichern. etckeeper eignet sich hervorragend für die /etc-Verwaltung mit Git.

Manche Leute augeasbearbeiten Konfigurationsdateien oder verwenden sogar Chef/Puppet, um sie automatisch zu verwalten.

verwandte Informationen