2013-05-22 16 views

Odpowiedz

9

Nie można bezpośrednio uciec go w pojedynczych cudzysłowach, tak aby uzyskać apostrof trzeba zrobić coś takiego:

$ echo 'i'\''m a string with a single quote' 
i'm a string with a single quote 

To kończy cytowany część ucieka apostrof, jak wydaje się na zewnątrz cytatów, a następnie ponownie zaczyna cytować. Wynik nadal będzie jednym argumentem.

5

Stosować cudzysłowie kodzie Zamiast:

find . | xargs perl -pi -e "s/'conflicts' => '',//g" 
+3

Nie polecam tego, ponieważ sporo znaków powszechnie używanych w kodzie Perla (przede wszystkim '!') Ma specjalne znaczenie do basha nawet w podwójnych cudzysłowach. –

+0

Jedyny przypadek, w którym użyłbym '' 'zamiast' ''jest w systemie Windows, gdzie pojedyncze cytaty nie działają. –

13

FatalError i gpojd mieć oba dają dobre rozwiązania. Będę zaokrąglić ten czas z jednego z pozostałych opcji:

find . | xargs perl -pi -e 's/\x27conflicts\x27 => \x27\x27,//g' 

To działa, ponieważ w Perlu, notacja s/.../.../ obsługuje ukośnikowe wymyka. \x27 jest szesnastkową ucieczką (' będącą U + 0027).

Powiązane problemy