Portál AbcLinuxu, 12. května 2025 13:31

Dotaz: sed tiskne "navíc" prázdný řádek

22.6.2010 12:02 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
sed tiskne "navíc" prázdný řádek
Přečteno: 224×
Odpovědět | Admin
dobrý den, snažím se udělat detekci, zda je kanál v alse ve stavu mute, nebo unmute, moje představa je, že použiju 2x sed jednou na stav [on], pak [off], a podle toho který najdu provedu akci.

zatím jsem došel k tomuhle:
  amixer get Master | sed -ne 's/.*\(\[on\]\).*/\1/p' 
má to jeden problém, nazačátku to tiskne i prázdný řádek, může mi prosím někdo vysvětlit proč?

sed v. 4.2.1, amixer 1.0.22

Ř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

22.6.2010 12:14 Ash | skóre: 53
Rozbalit Rozbalit vše Re: sed tiskne "navíc" prázdný řádek
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co vám vrací amixer? U sebe vámi popisovaný problém nepozoruji.
bash$ amixer get Master
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 39
  Mono: Playback 27 [69%] [-18.00dB] [on]
bash$ amixer get Master | sed -ne 's/.*\(\[on\]\).*/\1/p'
[on]
bash$
sed v. 4.2, amixer 1.0.21
22.6.2010 12:45 Ash | skóre: 53
Rozbalit Rozbalit vše Re: sed tiskne "navíc" prázdný řádek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten prázdný řádek by mohl (pokud je třeba v amixeru nějaká chyba) pocházet třeba z chybového výstupu, zkuste
amixer get Master 2>/devn/null | sed -ne 's/.*\(\[on\]\).*/\1/p'
22.6.2010 14:41 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: sed tiskne "navíc" prázdný řádek
Odpovědět | | Sbalit | Link | Blokovat | Admin
takže chyba odhalena, já to zkoušel v barevném dvouřádkovém zsh, kde to nejede, takže mám nejspíš něco špatně vyescapováno,:( v obyčejném bashi to funguje... díky za nápady
22.6.2010 14:44 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: sed tiskne "navíc" prázdný řádek
s přesměrováním chyb do dev nul to funguje i v zsh, divné
22.6.2010 21:29 Ash | skóre: 53
Rozbalit Rozbalit vše Re: sed tiskne "navíc" prázdný řádek
Takže vám buď amixer nebo sed tiskne jeden prázdný chybový řádek? Nebo zsh?
23.6.2010 09:59 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: sed tiskne "navíc" prázdný řádek
něco z toho, amixer sám o sobě se podle všeho chová korektně, vzhledem k tomu že sed v obyčejném bashi se též chová ok, podezřívám zsh. Zsh mám upraveno pomocí barviček, vypisuje mi spoustu informací, mám ho dvouřádkové, etc.. takže z nějakého důvodu blbne.

naštěstí to teď není kritické ten sed poběží ve skriptu a tam se to neprojeví, a když na podobný problém ještě narazím, budu vědět kam se podívat :)

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.