Article View: pl.comp.os.linux.programowanie
Article #72709Re: AWK i wykozystanie zmiennych w nim [BASH]
From: PawelS cbrbob(at)wbcd(dot)pl
Date: Fri, 19 Sep 2014 20:31
Date: Fri, 19 Sep 2014 20:31
37 lines
2221 bytes
2221 bytes
Krystian pisze:
> Krystian wrote:
>
>> Dzień Dobry,
>>
>> mam skrypt który odczytuje nr wersu do zmiennej:
>> WERS_NR=`grep -n "^$LP " $PLIK`
>>
>> i zmienna ma poprawna wartość,
>>
>> pytanie jak poprawnie te wartość "wcisnąć do AWK" wg schematu
Mógłbyś doprecyzować o którą konkretnie wersję awk pytasz ?
awk czy gawk ? Są różnice i to nie małe.
>> odczyt konkretnego wersu w pliku txt tutaj 11-tego
>> awk 'NR >= 11 && NR <= 11' plik.txt
>> bez zmiennych działa poprawnie jak zamiast tych 11 podmienić na zmienne?
>>
>> próbowałem wg opisu:
>> http://cfajohnson.com/shell/cus-faq-2.html#Q24
>>
>> awk -v a_var="$WERS_NR" 'BEGIN {NR >= a_var && NR <= a_var }' $PLIK
>>
>> nie mam pojęcie co robię źle, proszę o pomoc
>>
>> z góry dziękuje Krystian
>
> Rozwiązane:
>
> WERS_NR=`grep -n "^$LP " $PLIK | awk -F: '{print $1}'`
>
> echo `awk 'NR >= avar && NR <= avar' avar="$WERS_NR" $PLIK`
Można tak, można również to zrobić zgodnie z oczekiwaniem,
czyli tak jak zapytałeś poprzez zmienne bash:
ola=222 awk 'BEGIN{ print("ENVIRON[ola]="ENVIRON["ola"]); exit(0); }{}'
przy czym tutaj istotnie, że zmienna ola musi być poprzedzać awk,
awk uruchomione w nowej linii nie może skorzystać z tej zmiennej.
Technical Details
Message-ID:
<lvi3rp$6ep$1@node1.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<541a9130$0$2357$65785112@news.neostrada.pl> <541aa5ac$0$9743$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: "PawelS cbrbob(at)wbcd(dot)pl" <fake@email.org> Newsgroups: pl.comp.os.linux.programowanie Subject: Re: AWK i wykozystanie zmiennych w nim [BASH] Date: Fri, 19 Sep 2014 22:31:53 +0200 Organization: ATMAN - ATM S.A. Lines: 37 Message-ID: <lvi3rp$6ep$1@node1.news.atman.pl> References: <541a9130$0$2357$65785112@news.neostrada.pl> <541aa5ac$0$9743$65785112@news.neostrada.pl> NNTP-Posting-Host: host-89-231-96-70.warszawa.mm.pl Mime-Version: 1.0 X-Trace: node1.news.atman.pl 1411158713 6617 89.231.96.70 (19 Sep 2014 20:31:53 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Fri, 19 Sep 2014 20:31:53 +0000 (UTC) User-Agent: Thunderbird 2.0.0.24 (X11/20110622) In-Reply-To: <541aa5ac$0$9743$65785112@news.neostrada.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit