Thread View: pl.comp.os.linux.programowanie
4 messages
4 total messages
Started by Krystian
Thu, 18 Sep 2014 08:00
AWK i wykozystanie zmiennych w nim [BASH]
Author: Krystian
Date: Thu, 18 Sep 2014 08:00
Date: Thu, 18 Sep 2014 08:00
21 lines
1561 bytes
1561 bytes
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
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
Re: AWK i wykozystanie zmiennych w nim [BASH]
Author: Krystian
Date: Thu, 18 Sep 2014 09:28
Date: Thu, 18 Sep 2014 09:28
31 lines
1778 bytes
1778 bytes
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
>
> 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`
zaczyna mi sie roic juz od znaczkow :)
Re: AWK i wykozystanie zmiennych w nim [BASH]
Author: 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.
Re: AWK i wykozystanie zmiennych w nim [BASH]
Author: AMX
Date: Sat, 20 Sep 2014 20:51
Date: Sat, 20 Sep 2014 20:51
37 lines
1882 bytes
1882 bytes
On Thu, 18 Sep 2014 10:00:45 +0200, Krystian <krystia1n1@skrzy1nk1a.pl> 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
>
> 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
Warunek BEGIN jest spełniony tylko przed wczyaniem pierwszej
linii, akcja (w { ..}) jest dla mnie niezrozumiała.
Czy chodziło Ci o coś takiego:
echo $LN
11
seq 1 15 | awk -v ln=$LN 'NR==ln {print $0}'
AMX
--
adres w rot13
Nyrxfnaqre Znghfmnx r-znk@b2.cy
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads