NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Tereza Burbová:5.2.2019 10:25

Dobrý den, mám do v awku 3 příkazy:

-F[/.] {for(i=1;i<=NF;i++){if($i=="Hello"){print "#"$(i+1)}}}

BEGIN{flag=""} /end/{flag=1;next} !/end/ && /[a-zA-Z]+/{flag=""} flag{print $2}

BEGIN { CONVFMT="%0.17f" }
function t(n, s) {
s=index(n,".")
return (s? substr(n,1,s+4) : n)
}
/end/ || x==1 { if(x==1) print t($1-2400000),t(-2.5*log($2)/log(10)) ; x=1 }

Jak je spojit dohromady prosím?

Input:

gfkjl
dfjldfg
Hello/word
klji
c end
2.456924717385000084e+06 8.305102180161216529e+04 1.356000000000000050e+01
2.456924717654999811e+06 8.287982785722288827e+04 1.383000000000000007e+01

Požadovaný výstup:

#word
56924.7173 -12.2983
56924.7176 -12.2961

Moc děkuji

Zkusil jsem: Zkoušela jsem něco takového:

BEGIN { CONVFMT="%0.17f" }
-F[/.] {for(i=1;i<=NF;i++){if($i=="Hello"){print "#"$(i+1)}}}
function t(n, s) {
s=index(n,".")
return (s? substr(n,1,s+4) : n)
}
/end/ || x==1 {flag=""} /end/{flag=1;next} !/end/ && /[a-zA-Z]+/{flag=""} flag{ if(x==1) print t($1-2400000),t(-2.5*log($2)/log(10)) ; x=1 }

ale nefunguje to.

Chci docílit:
Chtěla bych na první řádek výstupního souboru napsat

-F[/.] {for(i=1;i<=NF;i++){if($i=="Hello"){print "#"$(i+1)}}}

Pak se přesunout na řádku pod slovem end

BEGIN{flag=""} /end/{flag=1;next} !/end/ && /[a-zA-Z]+/{flag=""} flag{print z dalšího}

a tam udělat

BEGIN { CONVFMT="%0.17f" }
function t(n, s) {
s=index(n,".")
return (s? substr(n,1,s+4) : n)
}
/end/ || x==1 { if(x==1) print t($1-2400000),t(-2.5*log($2)/log(10)) ; x=1 }
 
Odpovědět
5.2.2019 10:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.