Heim > Artikel > Betrieb und Instandhaltung > Was ist der Linux-Ersetzungsbefehl?
Linux-Ersetzungsbefehl: 1. Verwenden Sie den Befehl „:s/original content/replacement content/“ in vim. 2. Verwenden Sie sed durch grep, um den Inhalt zu ersetzen. 3. Verwenden Sie „find -name file name |“. Der Befehl xargs perl - pi -e 's|original content|replacement content|g'“ ersetzt den Inhalt.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
1. Ersetzen durch den Vim-Editor
Sie können den Befehl :s verwenden, um Zeichenfolgen in vi/vim zu ersetzen.
:s/well/good/ Ersetze das erste Well in der aktuellen Zeile durch good
:s/well/good/g Ersetze alle Wells in der aktuellen Zeile durch good
:n,$s/well/good/ Ersetzen Sie das n-te Die erste Vertiefung in jeder Zeile vom Anfang bis zur letzten Zeile ist gut
:n,$s/well/good/g Ersetzen Sie alle Vertiefungen in jeder Zeile von der n-ten bis zur letzten Zeile durch gute n ist eine Zahl, wenn n . ist, also vom Anfang der aktuellen Zeile bis zur letzten Zeile
:%s/well/good/ (entspricht: g/well/s//good/) ersetzt das erste Well von jede Zeile durch good
:%s/ well/good/g (entspricht: g/well/s//good/g) Ersetzen Sie alle well in jeder Zeile durch good. In diesem Fall können Sie # als Trennzeichen verwenden , das / in der Mitte wird nicht als Trennzeichen verwendet
:s #well/#good/# Ersetzen Sie das erste well/ in der aktuellen Zeile durch good/
:%s#/usr/bin#/bin #g. Sie können alle Pfade /usr/bin in der Datei durch /bin ersetzen
2. Kombination aus sed und grep
sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`
Funktion: Ersetzen Sie die Zeichenfolge yyyy in allen TXT-Dateien im aktuellen Verzeichnis (einschließlich Unterverzeichnissen). mit der Zeichenfolge xxxx. Darunter zeigt
-i an, dass die Datei bearbeitet wird, und der in „“ eingeschlossene grep-Befehl zeigt an, dass das Ergebnis des grep-Befehls als Betriebsdatei verwendet wird.
s/yyyy/xxxx/ bedeutet, nach yyyy zu suchen und es durch xxxx zu ersetzen, gefolgt von g. Dies bedeutet, dass bei mehreren yyyy in einer Zeile alle ersetzt werden, anstatt nur das erste.
Außerdem, wenn Sie Sie müssen nicht nach Unterverzeichnissen suchen. Sie müssen nur im aktuellen Verzeichnis ersetzen. Verwenden Sie einfach den Befehl sed. Der Befehl lautet wie folgt: sed -i s/xxxx/yyyy/g ./*.txt
3.find Befehl zum Suchen und Ersetzen
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
#Suchen und Ersetzen im aktuellen Verzeichnis Enthält Zeichenfolgen und ersetzt sie
find -name '*.txt' |.html' |
Das obige ist der detaillierte Inhalt vonWas ist der Linux-Ersetzungsbefehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!