2017-06-21 11 views
-1

enthält Wie ein Muster suchen und die Linie mit sed entfernen, die Sonderzeichen wie enthält „ranasnfs2:/SA_kits/prod“eine Zeichenfolge suchen, die „/“ und ersetzen mit sed

Ich habe versucht, eine Variable zu halten die komplette Zeichenfolge und rufen Sie dann die Variable in sed-Befehl, aber es funktioniert nicht.

echo $a 
ranasnfs2:/SA_kits/prod 
    sed -i '/"$a"/d' test.txt 
    cat test.txt | grep -i SA 
/SA_kits  -rw,suid,soft,retry=4 ranasnfs2:/SA_kits/prod 
+0

Welche sed verwenden Sie? GNU? Können Sie ein Zeichen identifizieren, das garantiert nicht in der zu suchenden Zeichenfolge enthalten ist? Z.B. "%" – Yunnosch

+1

Mögliches Duplikat von [Escape eine Zeichenkette für ein Sed-Ersatzmuster] (https://stackoverflow.com/questions/407523/escape-a-string-for-a-sed-replace-pattern) – Thor

+0

Wechsel von 's ///'zu' s ||| ', z – Cyrus

Antwort

0

Sie müssen den Schrägstrich zu entkommen. Verwenden Sie diese Zeilen zum Löschen, die eine / enthalten:

sed '/\//d' file

Verwandte Themen