Was ist der Unterschied zwischen `sed-i -e` und `sed -ie`?
Was ist der Unterschied zwischen sed -i -e
und sed -ie
?
Es ist nicht sehr klar aus-Hilfe
sed --help
-e script, --expression=script
add the script to the commands to be executed
Im zweiten Fall schafft eine backup-Datei?
Im Allgemeinen Unix-utils nicht zulassen, zu kombinieren Fahnen?
Nur ein Beispiel um zu zeigen, was passiert:
echo "bla" > 1.txt
cat 1.txt
bla
sed -i -e 's:bla:blakva:g' 1.txt
cat 1.txt
blakva
sed -ie 's:bla:blakva:g' 1.txt
cat 1.txt
blakvakva
*Note: also 1.txte is created, containing
cat 1.txte
blakva
Auch noch nicht sicher, was ist -e
tun, in meinem Beispiel, weil sed -i 's:bla:blakva:g' 1.txt
funktioniert auch.
- Was ist der Unterschied? Nichts. Sie können
-i -e
oder-ie
(es sei denn, es ist eine weitere option, die speziell definiert alsie
), solange Ihr Ausdruck folgt-i
können Sie beseitigen diee
insgesamt. - siehe Beispiel im update.
- Sicher scheint zu funktionieren, wie angegeben
:)
sehen, Sondern saß Antwort. Alles, was nach-i
ist als eine Erweiterung hinzufügen, um die ursprüngliche Datei als back-up. In der Regel verwenden Sie-i.bak
speichern, um das original alsfile.txt.bak
. - Wie @sat zur Verfügung gestellt hat, die richtige Antwort, möchte ich darauf hinweisen, dass die folgende Aussage ist vollkommen falsch :- In der Regel Unix-utils nicht zulassen, zu kombinieren Fahnen? ... Eine große Menge von Befehls erlauben die Kombination von Schaltern/Optionen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Geben, wenn Sie
sed -i -e
,sed
sieht zwei Optionen.Aber, Wenn Sie geben
sed -ie
,sed
sieht-i
option nur mitsuffix
alse
. Das ist der Grund, warum Sie bekam, Datei-backup mite
suffix.Option
-i
bedeutet, dass es ändern, platzieren Sie die Datei, die Sie sed-ing. Ansonstensed
nur zeigen, was für änderungen durchgeführt wurden. Wenn Sie fügen Sie ein suffix, das nach-i
(e.g-i.bck
) es wird ein backup Ihrer input-Datei, dann fügen Sie das suffix versehen.Option
-e
können Sie bieten sed-Skript anstelle der Kommandozeilen-Argumente.-e
tun, in meinem Beispiel, weilsed -i 's:bla:blakva:g' 1.txt
Arbeit zu.