Skocz do zawartości

Sed I Pojedyńczy Cudzysłów


borzole

Rekomendowane odpowiedzi

Nie mogę sobie poradzić z pojedynczym cudzysłowem w sed. Wiki formatuje

'''text'''

jako bold. Teoretycznie przeniesienie tego do konsoli powinno być jakoś tak:

s/\(\'\'\'\)\(.*\)\(\'\'\'\)/\\e[1;38m\2\\e[0m/g

ale nie działa. Również podwójne i potrójne "\" nie działają. Zawsze błąd składni.

 

Działająca część wygląda tak: cwiki.sh

 

Nawet jak wydzieliłem osobno skrypt sed: cwiki.sed

uruchamiany tym skryptem:

#!/bin/bash

DOMAIN=${1-http://wiki.fedora.pl}
PAGE=${2-Typowe_problemy}
URL="${DOMAIN}/index.php?title=${PAGE}&action=raw&ctype=text/css"

echo -e "$( curl -s $URL | cwiki.sed )"

to problem pozostał, co jest trochę dziwne.

 

[EDIT]

Okazuje się, że po wydzieleniu komend sed do osobnego pliku przestało działać znacznie więcej. Teraz to już zupełnie nie wiem o co chodzi. :wacko:

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dlaczego escapujesz \' ?

bash nie będzie interpretował ani pojedynczego ' wpisanego wewnątrz "..."

ani niczego, co siedzi w plikowym skrypcie dla sed-a.

 

Z kolei dla powłoki ograniczniki '...' są silniejsze niż "..." w tym sensie, że wewnątrz nich ani interpretacja, ani rozwijanie sekwencji escape się nie odbywa.

 

Być może dowodzi to nieuctwa, ale nie wiem, czym jest \' w wyrażeniach regularnych. Jednak czymś jest z pewnością; w próbach grep i sed dopasowują do niego pusty łańcuch między ostatnim znakiem w wierszu a $.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...