Mam plik tekstowy z różnymi wpisami w nim. Każda pozycja zakończona jest linią zawierającą wszystkie gwiazdki.Jak przypisać dopasowanie mojego wyrażenia regularnego do zmiennej?
Chciałbym użyć poleceń powłoki do parsowania tego pliku i przypisania każdego wpisu do zmiennej. Jak mogę to zrobić?
Oto przykładowy plik wejściowy:
*********** Field1 *********** Lorem ipsum Data to match *********** More data Still more data ***********
Oto co moje rozwiązanie wygląda tak daleko:
#!/bin/bash
for error in `python example.py | sed -n '/.*/,/^\**$/p'`
do
echo -e $error
echo -e "\n"
done
Jednak to właśnie przypisuje każde słowo w dopasowanego tekstu do $ błędu, raczej niż cały blok.
Rzeczywiście, byłoby miło, gdyby istniał ostateczny przewodnik po bashowaniu wyrażeń regularnych, ale jak powiedział @Jefromi, jest to po prostu garść przypadkowości. – g33kz0r
@Noah: Ze strony podręcznika: "ciąg po prawej stronie operatora jest traktowany jako rozszerzone wyrażenie regularne i odpowiednio do niego dopasowany (jak w regex (3)." Więc jest to rozszerzone w standardzie POSIX, tak? Wydaje się ... dość definitywne: – Cascabel
To wszystko dobrze i dobrze, Jefromi, ale to nie jest diveintobashregex.org – g33kz0r