abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 20:33 | IT novinky

Společnost Proton AG představila novinky ve svých službách Proton Mail, Proton VPN, Proton Calendar a Proton Drive. Služby jsou přístupné z nového webu proton.me. Aktualizován byl ceník.

Ladislav Hagara | Komentářů: 0
dnes 19:22 | Nová verze

Týden po vydání Red Hat Enterprise Linux (RHEL) 9.0 byl vydán jeho klon AlmaLinux 9. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 2
dnes 15:00 | IT novinky

Broadcom kupuje firmu VMware za 61 miliard dolarů.

Ladislav Hagara | Komentářů: 3
dnes 09:55 | Nová verze

Google Chrome 102 byl s verzí 102.0.5005.61 prohlášen za stabilní. Opraveno bylo 32 bezpečnostních chyb. Přehled novinek na Chromium Blogu nebo na Chrome Platform Status. Oficiální přehled novinek (New in Chrome, YouTube) zatím nebyl publikován. Přehled novinek v nástrojích pro vývojáře je bez videa.

Ladislav Hagara | Komentářů: 0
dnes 01:55 | Komunita

The Open Source Software Security Mobilization Plan (pdf) je konsorciem The Linux Foundation zastřešen plán na zvýšení bezpečnosti open source softwaru.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Zajímavý článek

Minulý týden proběhla hackerská soutěž Pwn2Own Vancouver 2022. Máte-li na starost bezpečnost IT, výsledky vás nepotěší. Microsoft Teams, Oracle Virtualbox, Mozilla Firefox, Microsoft Windows 11, Ubuntu Desktop, Apple Safari, Tesla Model 3 Infotainment System. Vše potopeno. Demonstrované bezpečnostní chyby ve Firefoxu jsou již opraveny ve verzi 100.0.2.

Ladislav Hagara | Komentářů: 0
včera 13:22 | Nová verze

Lokální úložiště Stratis (Wikipedie), alternativa k úložištím s ZFS a Btrfs, bylo vydáno ve verzi 3.1.0. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 5
včera 13:11 | IT novinky

Sdružení CZ.NIC dnes vrátilo do zóny dříve vyřazená jména domén dezinformačních webů.

Ladislav Hagara | Komentářů: 33
včera 11:11 | IT novinky

Před půl rokem představený webový vyhledávač You.com (Wikipedie) se zaměřuje také na kodéry. Vyzkoušet lze YouCode.

Ladislav Hagara | Komentářů: 1
včera 08:00 | Zajímavý software

RustDesk je open source alternativa k TeamVieweru. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPL-3.0.

Ladislav Hagara | Komentářů: 1
Na sociálních sítích nebo jiných webových diskuzích vystupuji pod
 (61%)
 (17%)
 (23%)
Celkem 337 hlasů
 Komentářů: 29, poslední 24.5. 00:02
Rozcestník


Dotaz: BASH: Vkladani parametru prikazu ze souboru a konec radky

2.9.2005 23:44 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
BASH: Vkladani parametru prikazu ze souboru a konec radky
Přečteno: 221×
Zdravim,

zkousel jsem si udelat jednoduchy skript v BASHi, ktery ma prevest vsechmy wavy v adresari na mp3 pomoci lame. Krome wavu mam v adresari i stejnojmene soubory, zakoncene sekvenci ".par", ktere v sobe obsahuji parametry pro vytvoreni ID3 tagu budouci "empetrojky". Skript vypada takhle:
#!/bin/bash

rm encode.log
rm encode.err

echo "----------------[ PREVADIM WAVy NA MP3 ]----------------"

for JMENO in `ls *.wav | sed -e "1,$ s/\.wav//g"`;
do
  lame -q 0 -m m --verbose `cat $JMENO.par` $JMENO.wav $JMENO.mp3 >> encode.log 2>> encode.err
  echo "(!) soubor $JMENO.wav zpracovan..."
  echo "--------------------------------------------------------"
done;
a v nejakem souboru.par je vzdy jen jeden radek, napr. --tt "J. Seger: Fuga a moll" --tc "pozitiv u sv. Michala"

Jenze lame mi neustale vraci, ze mam spatne parametry prikazu. Myslim si, ze mi tam to `cat $JMENO.par` odradkuje a tedy spusti prikaz pred predanim nazvu souboru.

Cili moje otazka: Jak mam vypsat obsah souboru, aniz by se pak odradkovalo nebo jak to odradkovani odstranit (sedem to asi nepujde, ze...)

Vrele diky za pomoc
θηριον ειμι

Odpovědi

David Watzke avatar 2.9.2005 23:52 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: BASH: Vkladani parametru prikazu ze souboru a konec radky
Sedem to půjde, pomocí regulárních výrazů.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 2.9.2005 23:57 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: BASH: Vkladani parametru prikazu ze souboru a konec radky
vlastně nepůjde... jsem si to asi spletl s egrep
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 3.9.2005 00:05 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: BASH: Vkladani parametru prikazu ze souboru a konec radky
Odstraňoval jsem s tím mezery, ale nevím jestli to umí přímo toto, napadlo mě, že to 100% umí echo s nějakou escape sekvencí (echo -e)... ale když je to v souboru :-/
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
3.9.2005 00:03 0
Rozbalit Rozbalit vše Re: BASH: Vkladani parametru prikazu ze souboru a konec radky
Zkusil bych pouzit vlastnost shellu, ze pomoci konstrukce ${PROMENA%%suf} odstrani priponu.
for JMENO in *.wav; do
  A=${JMENO%%.wav}
  echo $JMENO $A
  lame -q 0 -m m --verbose ${A}.par $JMENO ${A}.mp3
done
Prikaz cat aplikovany na promenou odradkuje, prikaz echo ne.
3.9.2005 00:15 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: BASH: Vkladani parametru prikazu ze souboru a konec radky
Konstrukci ${PROMENA%%suf} urcite zkusim, je to elegantnejsi nez volat sed, akorat pak to ${A}.par bude asi problem. lame ma syntaxi lame [options] input.file output.file, takze predpokladam, ze asi bude povazovat ${A}.par za dalsi parametr (v horsim pripade za vstupni soubor), misto toho aby prevzal ty parametry, ktere jsou uvnitr toho souboru...

Obecne tedy zustava problem, jak nacpat parametry ze souboru na prikazovou radku, aniz by se po nich odentrovalo...
θηριον ειμι
3.9.2005 02:11 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: BASH: Vkladani parametru prikazu ze souboru a konec radky
Problém není v odřádkování. Problém je v tom, že se po command substitution provede word splitting (viz kapitolu EXPANSION v bash(1)), takže se ty věci v uvozovkách rozpadnou na kusy. Nejjednodušší řešení asi je použít eval:
for wav in *.wav; do
  base=${wav%%.wav}
  eval lame -q 0 -m m --verbose $(<$base.par) $wav $base.mp3
done
Alternativní řešení je např. vygenerovat pomocný skript a ten pak spustit.

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.