Verwenden Sie sed mit ignore case, während Sie vor einem Muster Text hinzufügen

7
%Vor%

In diesem Fall, wie Groß- und Kleinschreibung bei der Suche nach Muster = zuerst

ignoriert werden     
Mann 04.06.2013, 12:17
quelle

5 Antworten

21

Sie können Folgendes verwenden:

%Vor%

Andernfalls haben Sie die Flags /I und n /i :

%Vor%

Von Mann sed :

  

Ich

     

ich

     

Der I-Modifikator für den Abgleich regulärer Ausdrücke ist eine GNU-Erweiterung, die   Setzt die Übereinstimmung von sed mit regexp ohne Berücksichtigung der Groß- und Kleinschreibung.

Test

%Vor%     
fedorqui 04.06.2013, 12:19
quelle
6

GNU sed

%Vor%     
Endoro 04.06.2013 12:40
quelle
3

Wenn Sie ein wenig tippen wollen, versuchen Sie awk. Ich denke nicht, sed hat diese Option

%Vor%     
Kent 04.06.2013 12:26
quelle
3

Sie können versuchen

%Vor%     
bendaizer 04.06.2013 12:27
quelle
1

Für Versionen von awk, die die Sondervariable IGNORECASE nicht verstehen, können Sie etwas wie folgt verwenden:

%Vor%

Konvertieren Sie jede Zeile in Großbuchstaben, bevor Sie testen, ob sie mit dem Muster übereinstimmt, und wenn dies der Fall ist, drucken Sie die Zeichenfolge. 1 ist die kürzeste true Bedingung, also hat awk die Standardregel: { print } .

Um eine Variable zu verwenden, könnten Sie damit gehen:

%Vor%

Dies übergibt die Shell-Variable $foo und transformiert sie in Großbuchstaben, bevor die Datei verarbeitet wird.

Etwas kürzer mit bash wäre -v pattern="${foo^^}" und überspringe den BEGIN Block.

    
Tom Fenech 29.04.2016 09:16
quelle

Tags und Links