sed und Mac OS X unterscheiden sich mit den oberen, unteren und ganzen Capture-Kontrollsequenzen

7

Ich versuche, die letzten zwei Buchstaben eines Großbuchstabens aus einem Dateinamen zu nehmen und sie an den Dateinamen in Kleinbuchstaben anzuhängen. Ich habe den Befehl erwartet:

%Vor%

um dies zu erreichen und auf meiner Ubuntu-Box hat es funktioniert, aber auf meinem Mac gibt es einfach einen 0/LXXE/ aus, wobei XX die richtigen Buchstaben aus dem Capture sind.

Was sind die Mac-Sed-Äquivalente von \L , \E und -i ?

Ich habe mich im Internet umgeschaut und einige Leute haben bemerkt, dass Mac OS X sed sich von Ubuntu sed unterscheidet, aber die meisten Threads sprechen von der %code% -Anforderung für eine Dateierweiterung oder eine leere Zeichenfolge (was mich schon einmal gestolpert hat up).

    
James Robinson 18.08.2013, 10:58
quelle

2 Antworten

18

OSX sed ist eine ältere Version und unterstützt die Funktionen \L , \E usw. nicht. Installieren Sie gnu sed auf dem Mac mit:

%Vor%     
anubhava 18.08.2013, 11:06
quelle
6

awk Alternative:

%Vor%     
mschilli 18.08.2013 12:05
quelle

Tags und Links