Ist es ein Fehler ... oder gibt es eine Erklärung?Sed Befehl - Reihenfolge der Option Flags Angelegenheiten? (-ir vs -ri)
Bitte beachten Sie, dass ich nicht für dieses Problem zu umgehen bin auf der Suche, sondern warum die Reihenfolge der -ir
und -ri
Angelegenheiten ...
Stellen Sie sich die gespeichert folgenden Daten in der Datei data.txt
1, StringString, AnotherString 545
2, StringString, AnotherString 723
3, StringString, AnotherString 610
4, StringString, AnotherString 118
5, StringString, AnotherString 482
Gewünschte string transformation
Replace "StringString" with "Strung"
Mit dem folgenden Code
sed -ir 's/String+/Strung/g' data.txt <-- won't work
sed -ri 's/String+/Strung/g' data.txt <-- will work
Ich sehe keinen Grund, warum die Reihenfolge des Optionsflags würde eine Rolle? Irgendwelche Erklärungen?
Marginalien: Der Schalter -i
"bearbeitet die Datei in place", während -r " regulären Ausdruck erweitert" ermöglicht (so dass der +
Operator). Läuft sed 4.2.1 Dez. 2010 auf Ubuntu 12.10.
tun müssen !! Oh, ich habe gerade die Datei "data.txtr" im Verzeichnis gefunden - die als Backup erstellt wurde. Ich habe erwartet, dass ein Leerzeichen das Suffix trennt, aber jetzt macht es Sinn. – somethis