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 16:22 | Nová verze

Jonathan Thomas oznámil vydání nové verze 2.4.4 video editoru OpenShot (Wikipedie). Přehled novinek na YouTube. Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

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

Mozilla.cz informuje, že Firefox bude mít nového správce hesel Lockbox. Lockbox bude integrován s Firefox Monitorem – službou pro varování při únicích dat.

Ladislav Hagara | Komentářů: 0
dnes 11:33 | Nová verze

Webový prohlížeč Falkon založený na QtWebEngine (Blink) byl vydán ve verzi 3.1. Podle seznamu změn zlepšuje integraci v rámci KDE, opravuje několik chyb a stabilizuje podporu rozšíření v Python a přidává podporu QML.

Fluttershy, yay! | Komentářů: 2
dnes 11:22 | Komunita

Česká Wikipedie je dnes vypnuta. Na protest proti evropské reformě autorského práva.

Ladislav Hagara | Komentářů: 12
včera 18:11 | Nová verze

Po půl roce vývoje od vydání verze 7.0.0 byla vydána verze 8.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, clang-tools-extra, LLD a Libc++.

Ladislav Hagara | Komentářů: 0
včera 17:44 | Nová verze

Bylo vydáno Eclipse IDE 2019-03 aneb Eclipse 4.11. Nově vychází toto vývojové prostředí čtvrtletně. Představení novinek na YouTube.

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

V říjnu loňského roku společnost Google představila hráčům počítačových her Project Stream umožňující streamování AAA her do webového prohlížeče Chrome. Včera na konferenci GDC 2019 (Game Developers Conference) společnost Google oficiálně představila (YouTube) pokračování projektu – herní platformu Stadia. V Česku a na Slovensku je služba Stadia zatím nedostupná.

Ladislav Hagara | Komentářů: 24
19.3. 23:11 | Nová verze

Byla vydána Java 12 / JDK 12. Nových vlastností (JEP - JDK Enhancement Proposal) je 8. Nová Java / JDK vychází každých 6 měsíců.

Ladislav Hagara | Komentářů: 2
19.3. 22:55 | Nová verze

Byla vydána verze 3.13 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Řešena je také celá řada bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
19.3. 22:11 | Pozvánky

Březnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 21. 3. 2019 od 18:00 v Šenkýrně Hlubina (Lidická 37, Praha 5). Sejdeme se zase u dobrého piva a popovídáme si o tématech jako umění a technologie, IoT, CNC, svobodný software, hardware a další hračky. Pro zájemce budou tentokrát k dispozici i nějaké samolepky s GNU/Linuxovou tématikou.

xkucf03 | Komentářů: 0
Kolik balíčků (v tisících) máte nainstalovaných na svém systému?
 (4%)
 (13%)
 (33%)
 (30%)
 (20%)
 (3%)
 (2%)
 (1%)
 (3%)
Celkem 223 hlasů
 Komentářů: 19, poslední včera 12:24
Rozcestník
Štítky: není přiřazen žádný štítek

Dotaz: Jak v Bashi rozparsovat názvy souborů na adresáře

6.4.2018 21:42 Oleg
Jak v Bashi rozparsovat názvy souborů na adresáře
Přečteno: 281×
Ahoj, potřeboval bych nakopnout, jak z názvů jako mat_ZMA_integraly_ukol1.doc udělat stromovou adresářovou strukturu (prostě jakoby _ nahradit za /) v níž pak bude uložen soubor ukol1.doc. Takhle pojmenovaných mám asi tisíc souborů, které potřebuji roztřídit do správných adresářů (pokud neexistuje tak vytvořit) a název souboru prostě zkrátit. Nechce se mi vymýšlet nic složitého, tak asi bude nejlepší, kdyby to bylo v Bashi.

Řešení dotazu:


Odpovědi

Řešení 1× (jose17)
7.4.2018 03:01 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jak v Bashi rozparsovat názvy souborů na adresáře
Získat string aktuálního jména souboru. To asi pomocí cyklu s find. Po evaluaci cílového adresáře a jména udělat něco jako
cp "$ORIGNAME" cil
Řešení je několik. Záleží na tom co všechno za stringy je ve jméně souboru a zda k tomu chceš i něco přidávat.

1) Můžeš udělat pattern matching
${parameter#word}
matchovat na "_" a vybírat vždy head (první proměnnou) a tail (zbytek) a z headu dělat mkdir. Až bude tail prázdnej, tak bude v head název souboru.

2) Nastavit IFS na "_" a na string a rozparsovat jednotlivé substringy přes
for DIR in $ORIGNAME
Je dost možný, že si budeš muset zapamatovat starej IFS a přepínat ho. Taky si musíš vymyslet detekci posledního substringu (jména souboru).

3) Turbo řešení by bylo vzít string jména souboru, všechny podtržítka nahradit "/"
${parameter/pattern/string}
a pak provést
dirname "a/b/c/d/e/file.xxx"
na získání cesty a udělat mkdir -p na vytvoření. Ale tam se může rozbít hodně věcí.
7.4.2018 08:19 Oleg
Rozbalit Rozbalit vše Re: Jak v Bashi rozparsovat názvy souborů na adresáře
Díky moc! To s tím IFS je chytrý. To by asi šlo i v AWK, který je na takové dělení podle FS dělanej, pak bych volal system() a vytvářel a přesouval nebo rovnou kopíroval cp --parents.

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.