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 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

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

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 4
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 25
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (18%)
    Celkem 674 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 436×
    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.