heby
2023-01-20 10:52:13 UTC
Cześć.
Czy jest jakiś gotowiec, który pozwoli mi na taką sztuczkę:
1) dostanie plik tekstowy na stdin
2) każdy ciąg znaków w tym pliku, pasujący do wartości dowolnej zmiennej
env, zostanie zastapiony tą zmienną env
3) wypluje output na stdout
Czyli chodzi i operację odwrotną, do podstawiania wartości zmiennych. Ja
chcę dostać zmienne, zamiast wartości.
Po co?
Mam loga z kompilacji, mniej więcej takiego:
/home/foo/bar/spam/src/go.txt
/home/foo/bar/spam/src/buzz/main.c
A chcę dostac, w obecności zmiennej środowiskowej
SRC=/home/foo/bar/spam/src
... nastepujący output:
$SRC/go.txt
$SRC/buzz/main.c
Lub podobny, zamieniający wartosci na zmienne symboliczne.
Mogę go napisac, ale to nie jest wbrew pozorom łatwe (tzn aby zrobić to
wydajnie, bo grepami można łatwo i powoli ;). Ktoś coś widział w ten deseń?
Czy jest jakiś gotowiec, który pozwoli mi na taką sztuczkę:
1) dostanie plik tekstowy na stdin
2) każdy ciąg znaków w tym pliku, pasujący do wartości dowolnej zmiennej
env, zostanie zastapiony tą zmienną env
3) wypluje output na stdout
Czyli chodzi i operację odwrotną, do podstawiania wartości zmiennych. Ja
chcę dostać zmienne, zamiast wartości.
Po co?
Mam loga z kompilacji, mniej więcej takiego:
/home/foo/bar/spam/src/go.txt
/home/foo/bar/spam/src/buzz/main.c
A chcę dostac, w obecności zmiennej środowiskowej
SRC=/home/foo/bar/spam/src
... nastepujący output:
$SRC/go.txt
$SRC/buzz/main.c
Lub podobny, zamieniający wartosci na zmienne symboliczne.
Mogę go napisac, ale to nie jest wbrew pozorom łatwe (tzn aby zrobić to
wydajnie, bo grepami można łatwo i powoli ;). Ktoś coś widział w ten deseń?