abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:00 | IT novinky

    Notebook NitroPad V56 od společnosti Nitrokey byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | IT novinky

    Multiplatformní hororová adventura Whispering Willows je na portále GOG.com zdarma, akce trvá do 6. října.

    Fluttershy, yay! | Komentářů: 0
    včera 14:33 | Komunita

    Na čem aktuálně pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Nová verze

    Byla vydána nová verze 1.50.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Vypíchnout lze podporu nastavení veth (virtual ethernet) v nmtui.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Nová verze

    Byla vydána nová verze 24.1 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Xahea. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 2
    včera 13:11 | Nová verze

    Mobilní Datovka, tj. svobodná aplikace pro přístup k datovým schránkám pro zařízení s operačním systémem iOS a Android, byla vydána v nové verzi 2.1.0. Nově je pro sestavení potřeba Qt 6.7.

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

    Přesně před 35 lety, 3. října 1989, byla vydána počítačová hra Prince of Persia. Jejím tvůrcem je Jordan Mechner.

    Ladislav Hagara | Komentářů: 4
    2.10. 14:44 | IT novinky

    Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu zářijový souhrn novinek. Po půl roce od předchozího. Vypíchnout lze nové desky StarPro64, Oz64 a Quartz64-Zero.

    Ladislav Hagara | Komentářů: 0
    2.10. 13:44 | IT novinky Ladislav Hagara | Komentářů: 8
    2.10. 06:33 | Humor Ladislav Hagara | Komentářů: 6
    Rozcestník

    Dotaz: BASH-Tar a výpis do souboru

    31.7.2012 21:40 MM
    BASH-Tar a výpis do souboru
    Přečteno: 445×
    Ahoj, jak bych mohl vypsat seznam souborů které daný soubor tar obsahuje, včetně cesty do souboru? Problém je ale v tom, že bych potřeboval na začátek každého řádku který uloží tar a na konec každého řádku vložit vlastní text.

    obsah soubory by pak mohl vypadat takto...
    MUJ TEXT|toto vložil tar|MUJ DRUHY TEXT
    MUJ TEXT|toto vložil tar|MUJ DRUHY TEXT
    MUJ TEXT|toto vložil tar|MUJ DRUHY TEXT
    MUJ TEXT|toto vložil tar|MUJ DRUHY TEXT
    MUJ TEXT|toto vložil tar|MUJ DRUHY TEXT
    
    Moc děkuji za pomoc

    Odpovědi

    31.7.2012 21:47 l4m4
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Pomalu by možná mohlo být načase začít taky číst dokumentaci a řešit alespoň jednoduché problémy samostatně...
    tar -tf archive.tar | sed 's/.*/MUJ TEXT|\0|MUJ DRUHY TEXT/'
    31.7.2012 22:11 MM
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Já se vážně snažím, ale není to vůbec lehký, hlavně v mých letech, všechno je anglicky a o to je to daleko těžší :-( jinak díky za pomoc, můžu ještě o úprava která mě nenapadla.. až jsem vyděl výsledek. Můžu nějak získat i to co aktuálně vkláda ten tar a přidat ho ještě jednou ale ke svému textu? Děkuji
    výsledek by pak měl vypadat finalně takto..
    MUJ TEXT|MUJ DRUHY TEXT+toto vložil tar|toto vložil tar
    MUJ TEXT|MUJ DRUHY TEXT+toto vložil tar|toto vložil tar
    MUJ TEXT|MUJ DRUHY TEXT+toto vložil tar|toto vložil tar
    
    31.7.2012 22:21 l4m4
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Ano. To je to \0, můžeš to použít klidně desetkrát.
    31.7.2012 22:52 MM
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    díky moc, tak tady je funkční výsledek
    tar -tf `pwd`/$ITEM | sed "s/.*/Extrahuji|tar -tf $ITEM \/\0|\/\0/" >> $DATA_FILE
    a tento už hází chybu (doplněno o tučný text)
    tar -tf `pwd`/$ITEM | sed "s/.*/Extrahuji|tar -tf `pwd`/$ITEM \/\0|\/\0/" >> $DATA_FILE
    sed: -e expression #1, char 26: unknown option to `s'
    co se mu nelíbí? díky
    31.7.2012 23:07 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Lomítko je oddělovač mezi hledanou částí, nahrazující částí a případnými parametry. Přidal jsi lomítko navíc, takže nahrazující část se bere jen po pwd a zbytek se sed snaží interpretovat jako parametry.

    Lomítko jde budto escapovat zpětným lomítkem tak jako máš u \0, anebo, v tomhle případě asi lépe, použít jako oddělovač jiný znak, který se nevyskytuje v hledaném ani nahrazovaném řetězci. Může to být cokoliv, prvním použitím za "s" se ten znak určí.
    31.7.2012 23:10 MM
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Tím lomítkem to nebude, nefunguje ani jeden příklad :(
    tar -tf `pwd`/$ITEM | sed "s/.*/Extrahuji|tar -tf `pwd`\/$ITEM \/\0|\/\0/" >> $DATA_FILE
    tar -tf `pwd`/$ITEM | sed "s/.*/Extrahuji|tar -tf `pwd` $ITEM \/\0|\/\0/" >> $DATA_FILE
    31.7.2012 23:19 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Ale bude, jenže to první lomítko je už v expanzi `pwd`. (Sakra, to tu musím počítat do 26 já? :) )
    31.7.2012 23:26 MM
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    ale dyť tam to lomítko vůbec nemám a stejně to nejde a chyba je stejná :-(
    tar -tf `pwd`/$ITEM | sed "s/.*/Extrahuji|tar -tf `pwd` $ITEM \/\0|\/\0/" >> $DATA_FILE
    31.7.2012 23:33 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru

    A co vyleze z `pwd`? Nejprve se provádí nahrazení, pak až spouštění příkazů. Hodí se občas použít v bashi set -x, čímž se zapne "debugovací" výpis s postupným prováděním řádky. Anebo prostě jen jednoduché echo "s/.*/Extrahuji|tar -tf `pwd` $ITEM \/\0|\/\0/".

    31.7.2012 23:41 MM
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    tohle
    echo "s/.*/Extrahuji|tar -tf `pwd` $ITEM \/\0|\/\0/".
    mi vypíše tohle
    s/.*/Extrahuji|tar -tf /tmp/backup/http/ zaloha.tar.gz \/\0|\/\0/.
    31.7.2012 23:47 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Takže tam lomítko je, však? Dokonce tak, že první znak za ním je na 25. pozici, jak říká chybová hláška ...
    1.8.2012 00:16 MM
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Hm, tak že asi ze všeho nejdřív budu muset v proměnná pwd nahradit / za \/ a pak by to mohlo jít, mám pravdu? Tak já jdu hledat jak se to dělá :-( Díky za trpělivost
    1.8.2012 01:15 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru

    No v bashi se dá k nahrazení použít úděsná konstrukce ${PWD//\//\\/}, ale v tomhle případě bych se raději podobným ascii-art výtvorům vyhnul a zvolil si nějaký vhodnější znak coby oddělovač pro sed, třeba dvojtečku: sed "s:.*:...$PWD...:" (proměnná $PWD obsahuje aktuální adresář, tady by šlo použít i `pwd`, ale ascii-artová šílenost nahoře pracuje jen s proměnnou), pokud tedy jde předpokládat, že v cestě nebude dvojtečka.

    Anebo na to jít úplně jinak, vzhledem k tomu, že cílem přidat text bez dalších úprav, dá se úplně vyhnout sed-u a použít něco jako: tar ... | while read; do echo "Extrahuji|tar -tf $PWD/$ITEM/$REPLY|/$REPLY/"; done

    (V proměnné $REPLY je načtena vždy jedna řádka z pipe pomocí příkazu read.)

    1.8.2012 11:49 darkenik
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    lomitko sa tam dostane po vykonani a vlozeni vystupu z pwd ale sed moze mat oddelovac nie len lomitko

    takze by som skusil
    tar -tf `pwd`/$ITEM | sed "s@.*@Extrahuji|tar -tf `pwd` $ITEM /\0|/\0@" >> $DATA_FILE
    
    alebo
    tar -tf `pwd`/$ITEM | sed "s:.*:Extrahuji|tar -tf `pwd` $ITEM /\0|/\0:" >> $DATA_FILE
    
    alebo hocijaky iny oddelovac, ktory sa tam bude vyskytovat len tri krat BTW: tar -t len testuje archiv neextrahuje
    31.7.2012 22:38 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: BASH-Tar a výpis do souboru
    Ke čtení toho jde najít dost i česky. Konkrétně tady se hodí klíčové slovo "regulární výrazy" a fakt stojí za to si trochu počíst.

    Pár příkladů ... hnedka tady na portálu třeba: http://www.abclinuxu.cz/serialy/unixove-nastroje anebo http://www.abclinuxu.cz/serialy/bash; další zajímavý hodně zhuštěný text: http://atrey.karlin.mff.cuni.cz/~johanka/vyuka/pohadky_unix.html; seriál "u konkurence": http://www.root.cz/serialy/regularni-vyrazy/ ... atd.

    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.