Portál AbcLinuxu, 10. května 2025 06:19

Dotaz: Problém s proměnou

1.3.2013 00:02 Marie
Problém s proměnou
Přečteno: 270×
Odpovědět | Admin
Hledala jsem jak vypsat určitý řádek ze souboru, našla jsem mimo jiné tohle, příkaz vypíše 3-tí řádek
sed -ne '3{p;q}' soubor
ale co když mám číslo řádku v proměné? Tohle již nefunguje :(
n=3;
sed -ne '$n{p;q}' soubor
Poradíte? Děkuji

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.3.2013 00:21 potato
Rozbalit Rozbalit vše Re: Problém s proměnou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Proměnné se substituují uvnitř uvozovek (nebo volně bez quotingu, samozřejmě). Uvnitř apostrofů ne.
1.3.2013 13:42 Vtipnéř | skóre: 39 | blog: Vtipnéřův blog | Brno
Rozbalit Rozbalit vše Re: Problém s proměnou
Odpovědět | | Sbalit | Link | Blokovat | Admin
... příkaz vypíše 3-tí řádek
Mluvnická odbočka: buď 3. řádek nebo třetí řádek.

Jirka
Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
2.3.2013 21:45 manasekp | skóre: 29 | blog: manasekp | Brno
Rozbalit Rozbalit vše Re: Problém s proměnou
narovinu primo k podstate
BIOKOMP | Cas od casu se pokousim nekoho srazit k zemi abych se tam nevalel sam.
pepe_ avatar 1.3.2013 18:01 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Problém s proměnou
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak jak řekl Potato :   n="5" ; sed -ne "$n"'{p;q}' soubor

1.3.2013 23:29 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Problém s proměnou
nie je to krajsie takto?
sed -ne "$n{p;q}"
2.3.2013 01:56 potato
Rozbalit Rozbalit vše Re: Problém s proměnou
Záleží na okolnostech. Zde ano, ale kdyby tam byla složitější konstrukce, tak je většinou o dost praktičtější mít ji v apostrofech a do uvozovek dát jen vybrané kousky, které je zapotřebí expandovat shellem.
2.3.2013 19:40 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Problém s proměnou
Odpovědět | | Sbalit | Link | Blokovat | Admin

Když nějaký příkaz nefunguje, stojí za to podívat se pomocí echo, jaké parametry mu shell předává.

$ n=3
$ echo '$n{p;q}'
$n{p;q}
$ echo "$n{p;q}"
3{p;q}

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.