🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux
Article #906806

Podmiana odwrotna zmiennych

#906806
From: heby
Date: Fri, 20 Jan 2023 10:52
31 lines
1866 bytes
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ń?
Technical Details
Message-ID: <tqdrp3$218q1$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: heby <heby@poczta.onet.pl>
Newsgroups: pl.comp.os.linux
Subject: Podmiana odwrotna zmiennych
Date: Fri, 20 Jan 2023 11:52:13 +0100
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <tqdrp3$218q1$1@dont-email.me>
MIME-Version: 1.0
Injection-Date: Fri, 20 Jan 2023 10:52:19 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="094e96f3f2d7ffe70b7f219774829b3d"; logging-data="2138945"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18axm3MjBc28UxVTw25xgs0"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1
Cancel-Lock: sha1:VdG06jgfGhOeOyLkV8tNhlPRNE4=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit