grep und suche und ersetze in Linux indem du Parameter mit / annimmst

0

Ich versuche, den Inhalt einer Datei mit grep und sed zu finden und zu ersetzen.

grep "#!/bin/bash" ./ | sed xargs -i 's/#!/bin/bash/#!/usr/bin/env bash'

Wie stelle ich sicher, dass der String #!/bin/bashals String analysiert und der Demiliter nicht verwechselt wird /?

Bryan Bojorque
quelle
Verwenden Sie "\", um "/" in Ihren Such- / Ersetzungszeichenfolgen zu maskieren.
Sami Laine
Als Nebenbemerkung nehme ich an, dass Sie gemeint haben /usr/bin/env?
ssmy
Ja, das habe ich mit @ssmy gemeint.
Bryan Bojorque

Antworten:

0

Sie können entweder das /mit \oder ein anderes Trennzeichen für sed verwenden.

Sed kann auch Trennzeichen wie _oder verwenden%

Lawrence
quelle