2016-05-04 12 views
-3

I wan eine bestimmte IP zu einem anderen so sagen localhost 0.0.0.0spezifische IP-Adresse mit sed ersetzen?

sed -i -e 's/localhost/0.0.0.0/g' scheint nicht zu ersetzen zu arbeiten

auch versucht sed -i -e 's/localhost/0\.0\.0\.0/g' nicht funktioniert entweder

sed: RE-Fehler: illegal Byte Sequenz

+2

Wie sehen Ihre Daten aus? –

+0

Ich habe eine Datei mit einem Bündel von "localhost" und ich möchte sie durch "0.0.0.0" ersetzen – user1870400

+0

@ user1870400 Hat Ihre Datei eine Menge 'localhost' oder eine Menge' ip = localhost'? Es macht einen Unterschied. Wenn Sie gute Antworten wünschen, sollten Sie eine kurze Stichprobe von einer der Eingabedateien hinzufügen, die Ihnen Probleme bereitet. – John1024

Antwort

0

Ihre Beispiele scheinen für mich gut zu funktionieren. Angesichts der folgenden test.txt

ip=localhost 

folgt ersetzt die gesamte ip=localhost mit 0.0.0.0

sed -i -e 's/ip=localhost/0\.0\.0\.0/g' test.txt 

Wenn Sie nur die localhost Teil ersetzt:

sed -i -e 's/localhost/0\.0\.0\.0/g' test.txt 

geben Sie Folgendes:

ip=0.0.0.0 
+0

Ich möchte jede Datei, die localhost hat mit 0.0.0.0 ersetzen und es sagt Sed ERR illegale Byte-Sequenz mit allen von ihnen versuchte ich. find ./ -type f -exec sed -i -e's/ip = localhost/0 \ .0 \ .0 \ .0/g '{} \; und finde ./ -type f -exec sed -i -e's/localhost/0 \ .0 \ .0 \ .0/g '{} \; – user1870400

+2

Ihre ursprüngliche Frage hat den Fund nicht erwähnt. Sie müssen alle relevanten Informationen in Ihre Frage aufnehmen. Sie können entweder Ihre Frage aktualisieren oder eine neue beginnen. – djsumdog