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:00 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 22:00 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 13:55 | Komunita

    Na itch.io probíhá Linux Game Jam 2023. Zapojit se a přihlásit hru běžící na Linuxu lze do 6. června do 01:59. Zahrát si lze hry z loňského ročníku.

    Ladislav Hagara | Komentářů: 2
    27.5. 18:55 | IT novinky

    Na Steamu lze získat zdarma počítačové hry Warhammer 40,000: Gladius - Relics of War a Hue. Na Epic Games Storu počítačovou hru Fallout: New Vegas - Ultimate Edition.

    Ladislav Hagara | Komentářů: 9
    26.5. 08:00 | Komunita

    WordPress (Wikipedie), open source systém pro správu webového obsahu (CMS), zítra slaví 20 let. První verze byla vydána 27. května 2003.

    Ladislav Hagara | Komentářů: 37
    25.5. 21:44 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno ve verzi 1.34. Přehled novinek v poznámkách k vydání. Od verze 1.6 lze pomocí "deno compile" sestavit ze zdrojových kódů binární spustitelný soubor. Nově "deno compile" podporuje také npm balíčky.

    Ladislav Hagara | Komentářů: 8
    25.5. 20:22 | Komunita

    Aktuálně posledním 14. open source filmem od Blender Studia je CHARGE (YouTube). Dokončuje se 15. film Pet Projects. Začíná se pracovat na 16. filmu s pracovním názvem Project Gold.

    Ladislav Hagara | Komentářů: 6
    25.5. 13:33 | Komunita

    Thunderbird má nové logo.

    Ladislav Hagara | Komentářů: 32
    24.5. 21:44 | Komunita

    Není zcela jednoduché rozchodit v Linuxu kameru IPU6 umístěnou v noteboocích Dell Latitude 9420, Lenovo ThinkPad X1 Carbon Gen 10, Lenovo ThinkPad X1 Nano Gen 2, Lenovo ThinkPad X1 Yoga Gen 7 a dalších. Ve Fedora Linuxu je to teď snadnější. Hans de Goede informuje o podpoře kamery IPU6 ve Fedora Linuxu pomocí balíčků umístěných na RPM Fusion.

    Ladislav Hagara | Komentářů: 24
    24.5. 17:33 | IT novinky

    Společnost AMD na YouTube představila a oznámila prodej grafické karty Radeon RX 7600. Cena začíná na 269 dolarech.

    Ladislav Hagara | Komentářů: 0
    Obnovovací frekvenci obrazovky (LCD) preferuji
     (72%)
     (22%)
     (4%)
     (2%)
    Celkem 734 hlasů
     Komentářů: 13, poslední 25.5. 07:25
    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: 398×
    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.