Wie finde ich und ersetzen Sie eine Zeichenfolge in der Befehlszeile in mehreren Dateien auf Unix?Suchen und Ersetzen in mehreren Dateien in der Befehlszeile
Antwort
gibt es viele Möglichkeiten .Aber eine der Antworten würde:
find . -name '*.html' |xargs perl -pi -e 's/find/replace/g'
Ich habe das mit ed Skripte oder ex-Skripte immer.
for i in "[email protected]"; do ex - "$i" << 'eof'; done
%s/old/new/
x
eof
Der ex Befehl ist nur der: Zeilenmodus von vi.
Dies hat den deutlichen Vorteil, dass Sie anspruchsvollere Bearbeitungen durchführen können. – alastair
mit den letzten Bash-Shell, und falls Sie keine Verzeichnisse durchqueren müssen
for file in *.txt
do
while read -r line
do
echo ${line//find/replace} > temp
done <"file"
mv temp "$file"
done
Wie die Zombie-Lösung (und schneller Ich gehe davon aus), aber mit sed (Standard bei vielen Distributionen und OSX) statt Perl:
find . -name '*.py' | xargs sed -i .bak 's/foo/bar/g'
Dadurch werden alle foo Vorkommnissen in Ihrer Python-Dateien unterhalb des aktuellen Verzeichnisses mit bar ersetzen und erstellen Sie eine Sicherung für jede Datei mit der .py.bak Erweiterung.
Und entfernen de bak Dateien:
find . -name "*.bak" -delete
Dies wirkt sich auf Leerzeichen außerhalb der Suche aus. Es schien am Ende jeder meiner Dateien neue Zeilen hinzuzufügen. – Shane
AFAIK In-Place-Bearbeitung wird nicht in jeder sed-Version unterstützt. Ich denke, es ist eine GNU-Erweiterung. – alastair
es ist eine GNU-Erweiterung und mindestens in meiner Version muss es 'sed-i.bak' (kein Leerzeichen) – friedemann
FIND und mit Namen oder Verzeichnisse mit Raumnutzung sed dies:
find . -name '*.py' -print0 | xargs -0 sed -i 's/foo/bar/g'
- 1. Suchen und Ersetzen in mehreren Dateien
- 2. Rekursives Suchen und Ersetzen in der Befehlszeile mit Sonderzeichen
- 3. Suchen und Ersetzen in mehreren Dateien mit Vim
- 4. Suchen und Ersetzen in Dateien schlägt fehl
- 5. Suchen und Ersetzen in Java-Dateien
- 6. Die beste Möglichkeit, in mehreren Dateien zu suchen/zu ersetzen?
- 7. Suchen und Ersetzen von Dateien und Ordnernamen
- 8. Suchen und Ersetzen von Daten in mehreren Datensätzen
- 9. Suchen und Ersetzen von Dateien im Verzeichnis
- 10. Suchen und Ersetzen in Textdatei
- 11. Suchen und Ersetzen nur in geöffneten Dateien (NetBeans)
- 12. Optimieren suchen und ersetzen über große Dateien in Python
- 13. XCode Suchen und Ersetzen in allen Projektdateien
- 14. Suchen und Ersetzen in Dateien von Windows-Eingabeaufforderung
- 15. Codierung Problem in Powershell suchen und ersetzen
- 16. Suchen und Ersetzen Zeichenfolge in einer Datei
- 17. Zeichenfolge Suchen und Ersetzen Methode
- 18. Suchen und Ersetzen mit Powershell
- 19. Bedingte Regex in Powershell suchen und ersetzen
- 20. SQL Suchen und Ersetzen
- 21. Suchen und Ersetzen
- 22. Imacro suchen und ersetzen
- 23. Python suchen und ersetzen
- 24. Javascript Suchen und Ersetzen
- 25. Suchen und ersetzen Teil der Zeichenfolge in der Datenbank
- 26. Freier Hex-Editor zum Suchen und Ersetzen von Dateien in Ordnern und deren Unterordnern usw.
- 27. Suchen und Ersetzen - Bash
- 28. jQuery - Suchen und Ersetzen
- 29. Phyloxml: Suchen und Ersetzen in einer Datei
- 30. Suchen und Ersetzen einer Zeichenfolge in JQuery
möglich Duplikat [Finden und einen bestimmten Begriff in mehreren ersetzen Dateien] (http://stackoverflow.com/questions/2263925/find-and-replace-a-particular-term-in-multiple-files) – Quanlong