2017-12-25 15 views
0

Das System ist Linux Debian 7 32bit.Linux Code in allen Dateien ersetzen

Ich habe ein Problem, wenn ich versuche, einige Codes in allen Dateien im selben Ordner zu ersetzen.

Die Dateinamen zum Beispiel ist:

--ADBCABCD-.html 

ABCDABCD.html 

zum Beispiel I-Code wollen < Skript ersetzen> mit < iframe> der Befehl für

sed -i "s|<script>|<iframe>|g" * 

ersetzen sehe ich dieses Problem, nachdem ich tun Dieser Befehl

sed: invalid option -- 'A' 
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]... 

th eine Menge von Dateien reparieren enthalten Namen -- und -

+0

Präfix Ihren Code/Daten mit vier Leerzeichen. Bitte werfen Sie einen Blick auf [editing-help] (http://stackoverflow.com/editing-help). – Cyrus

+0

Ich dachte "Kann 'Sie die Striche entkommen, oder in einfache Anführungszeichen" aber diese für eine '--weird' genannte Datei fehlgeschlagen ... – Xen2050

Antwort

2

Verwenden einer -- Option ist, weil der Name Dateien -- und -

enthalten

gleichen Dieser Dateiname --ADBCABCD-.html

bitte, wie ich das Problem, das ich habe. Dies ist die häufigste Option in den meisten Unix-Dienstprogrammen.

sed -i -- 's/input/output/g' * 
     ^^ 

Alternativ während glob für den Abgleich verwenden, fügen Sie das Verzeichnis Präfix:

sed -i 's/aaa/bbb/' ./* 

Niemand wird ./-- als Option behandeln, nicht wahr?

+0

das Problem immer noch die gleichen –

+0

Vielen Dank für die Hilfe, die ich behoben code jetzt der code ist: sed -i - "s |

Verwandte Themen