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í
×
    včera 17:55 | Nová verze

    Ubuntu pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).

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

    Zástupci členských států EU se včera shodli na návrhu, který má bojovat proti šíření materiálů na internetu zobrazujících sexuální zneužívání dětí. Nařízení známé pod zkratkou CSAM a přezdívané chat control mělo množství kritiků a dlouho nebyla pro jeho schválení dostatečná podpora. Pro schválení byla potřeba kvalifikovaná většina a dánské předsednictví v Radě EU se snažilo dosáhnout kompromisu. Návrh nakonec po dlouhých týdnech

    … více »
    Ladislav Hagara | Komentářů: 7
    včera 12:22 | Zajímavý software

    Britské herní studio Facepunch stojící za počítačovými hrami Garry's Mod a Rust uvolnilo svůj herní engine s&box (Wikipedie) jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Herní engine s&box je postavený nad proprietárním herním enginem Source 2 od společnosti Valve.

    Ladislav Hagara | Komentářů: 1
    včera 04:55 | Komunita

    Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | Komunita

    Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.

    Ladislav Hagara | Komentářů: 1
    26.11. 14:55 | IT novinky

    Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »

    Ladislav Hagara | Komentářů: 44
    26.11. 14:11 | Humor

    Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.

    Ladislav Hagara | Komentářů: 3
    26.11. 12:44 | Nová verze

    Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.11. 04:00 | Zajímavý software

    Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    25.11. 17:00 | IT novinky

    Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.

    Ladislav Hagara | Komentářů: 8
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (18%)
    Celkem 410 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Výpis adresáře do sloupců

    5.10.2016 18:31 Pavel
    Výpis adresáře do sloupců
    Přečteno: 1056×
    Přílohy:
    Chtěl bych se zeptat, jakým příkazem provést výpis adresáře tak, aby každá položka (velikost souboru, mtime, Název souboru - nic víc nepotřebuji) byla zapsána do svého sloupce.

    Zkoušel jsem si hrát s ls s různými parametry, ale když potom otevřu výsledný soubor.txt v programu gnumeric po sloupcích to správně rozdělené není.

    Zkoušel jsem také výpis ls -l a potom pomocí cut vyříznout jednotlivé znaky, uložit do samostatných souborů a nakonec je spojit. Výsledek byl přesně ten co potřebuji, tj.každá hodnota ve svém sloupci, ale nešlo by to jednodušeji?

    Díky.

    Klidně ať jsou tam i další hodnoty (např.oprávnění r,rw...-ale nemusí tam být)


    Řešení dotazu:


    Odpovědi

    5.10.2016 19:47 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Obidva ukážkové výpisy sú zlé. Keď budeš mať pol roka starý súbor, pochopíš prečo. A skúsiť môžeš napríklad: find ./ -type f -printf "%Ad.%Am.%AY %AH:%Am %s %p\n"
    wamba avatar 5.10.2016 22:31 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    nebo stat
    stat --printf "%b\t %y\t %n\n" *
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    6.10.2016 07:32 Pavel
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Příloha:
    Díky za odpověď.

    Takhle jsem to nějak potřeboval. Už nemusím sloupce "vyřezávat" ručně, ale napíšu mezi ně nějaký znak a oni se pak samy oddělí.

    find "/media/root/Data/Zaznamy" -type f -printf "%Ad.%Am.%AY %AH:%AmQ %s Q%f\n"

    Napsal jsem oddělovač znak Q a p jsem změnil na f, aby byl uvedený jen název nikoliv celá cesta.

    Do přílohy dávám script, který jsem včera vytvořil, taky funguje.

    6.10.2016 12:38 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Odelovač stĺpcov môžeš štandardne použiť buď TAB alebo bodkočiarku. V prípade bodkočiarky ti z toho vylezie súbor typu CSV.
    Josef Kufner avatar 6.10.2016 17:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Nevyleze, není tam escapování nepřípustných znaků, jako je středník a uvozovka.
    Hello world ! Segmentation fault (core dumped)
    6.10.2016 20:02 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    $ find ./ -type f -printf "%Ad.%Am.%AY;%AH:%Am;%s;%p\n"
    31.08.2016;18:08;4130090;./P8H67-M-PRO-ASUS-CG8250-8-0306.zip
    
    Teraz neviem. Mám niečo pokazené že mi to funguje tak ako som popisoval, alebo to máš pokazené ty že ti to nefunguje tak ako to má fungovať?
    Josef Kufner avatar 6.10.2016 20:09 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    touch 'a;b'
    Zkus to znovu.
    Hello world ! Segmentation fault (core dumped)
    k3dAR avatar 6.10.2016 20:23 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    prece nebudeme troskarit ;)
    touch '"zkus";"to";"znovu"'
    porad nemam telo, ale uz mam hlavu... nobody
    7.10.2016 08:36 Pavel
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    V Lubuntu a Elementary OS mi to funguje dobře, ale v MMC Openelec se v terminálu zobrazí

    find "/media/root/Data/Zaznamy" -type f -printf "%Ad.%Am.%AY %AH:%AmQ > %s Q%f\n" BusyBox v1.22.1 (2014-07-08 19:15:19 CEST) multi-call binary. find: unrecognized: -printf Usage: find [-HL] [PATH]... [OPTIONS] [ACTIONS] Search for files and perform actions on them. First failed action stops processing of current file. Defaults: PATH is current directory, action is '-print'BusyBox v1.22.1 (2014-07-08 19:15:19 CEST) multi-call binary.

    Pokud před printf dám svislítko, zobrazí se

    find "/media/root/Data/Zaznamy" -type f | printf "%Ad.%Am.%AY %AH:%AmQ %s Q%f\n" find: /media/root/Data/Zaznamy: No such file or directory sh: %Ad.%Am.%AY %AH:%AmQ %s Q%f\n: invalid format

    Nevíte co s tím?

    7.10.2016 08:51 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Busybox obsahuje okresanú funkcionalitu. Čo s tým? Buď to storrage centralizuješ, alebo vyzdielaš ten disk z openelec niekam kde funguje plná verzia programu find, alebo si ten plný find nahráš do toho openelec, alebo použiješ iný nástroj.

    PS: tie parametre pre printf boli makrá programu find a nie makrá programu printf.
    7.10.2016 16:18 Pavel
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Příloha:
    Ani jeden postup nepřipadá v úvahu, nahrát se do Openelec nedá nic (je jen pro čtení - chce se mi říct naštěstí). Při záznamu je spuštěný jen jeden PC, takže sdílení také nic. Zkoušel jsem i příkaz paste, ale ten je určený pro nahrání protokolů na web, takže v souboru dostanu jen adresu.

    Napsal jsem script a použíl příkaz sed a join, zatím nevím zda je join v Openelec k dispozici, sed tam je, používám to ve scriptech. V Lubuntu to funguje.

    Dal jsem to do přílohy.

    k3dAR avatar 7.10.2016 21:35 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    pro informaci(nehledim jestli je to v danem pripade nejvhodnejsi reseni): OpenELEC ma (jako 99% vsech distro-instalacek, recovery/cokoliv-livecd) system v souboru co je v squashfs formatu, pomoci nastroju unsquashfs lze rozbalit, pak provest rucne upravy a pomoci mksquashfs pak upravene zabalit (oba nastroje jsou soucasti baliku: squashfs-tools)...
    porad nemam telo, ale uz mam hlavu... nobody
    k3dAR avatar 7.10.2016 21:36 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    tady je treba koukam nejakej script co ti s tim pomuze(resi i dalsi veci okolo): https://gist.github.com/queeup/2393819?
    porad nemam telo, ale uz mam hlavu... nobody
    7.10.2016 21:44 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Dovolím si tvrdiť, že použitie UnionFS bude v tomto prípade lepšie.
    k3dAR avatar 8.10.2016 03:21 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    v dane situaci to lepsi neni...
    ale pro tve info: UnionFS zkoncil s jadrem 2.6.x (resp. nebyla to soucast jadra) ;) takze by slo pouzit AUFS (Another Union File System) pokud by jadro OpenELEC melo pridane AUFS patche, pripadne OverlayFS pokud by jadro melo tu volbu zakompilovanou...
    porad nemam telo, ale uz mam hlavu... nobody
    8.10.2016 09:12 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Kedysi to malo. Ak to vyhodili, tak smola. Život ide ďalej.
    10.10.2016 15:51 Pavel
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Příloha:
    Zkusil jsem rozbalit Openelec v ElementaryOS pomocí

    unsquashfs -f "/root/Documents/SYSTEM"

    z adresáře v ElementaryOS /usr/bin jsem zkopíroval soubory join a paste do adresáře /bin v Openelec

    zase jsem Openelec zabalil

    mksquashfs /root/squashfs-root /root/Documents/SYSTEM

    V Openelec je možnost přidat do Grubu2 slovo debugging (ladění) a pomocí kláves CTRL+Alt+F3 - zpět CTRL+Alt+F1 -se dostat do terminálu na stejném PC (není nutné přes SSH).

    Oba příkazy fungují (i když byly jenom obyčejně zkopírovány Ctrl+C a Ctrl+V) a příkaz paste už neodesílá logy na web jako původně, ale pracuje jako v jiných linuxech. Připojuji funkční script - spouští se v souboru /.config/autostart.sh

    Díky za navedení dobrým směrem.

    10.10.2016 20:52 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Zkus použít awk, to by nemělo být ve verzi busybox moc osekané.
    11.10.2016 18:02 Pavel
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Příloha:
    Dle doporučení jsem zkusil použít awk (příloha). Ale nemohu to dostat na jeden řádek, musím používat cyklus for. Potřeboval bych, aby u některých polí byla vytisknuta mezera jako tabelátor a u jiných ponechaná jako mezera. To se mi sice povedlo, ale potom byly všechny řádky výpisu filmů na jediném řádku. Já potřebuji mít na jednom řádku jen to, co je ve výpisu filmů na prvním řádku, na druhém co je na druhém .....

    Jinak pro informaci:

    V Openelec jsem nahradil stávající find souborem find z ElementaryOS a už jde provést výpis pomocí find (viz výše)

    find ./ -type f -printf "%Ad.%Am.%AY %AH:%Am %s %p\n"

    13.10.2016 09:22 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Ten script je zbytečně komplikovaný ;-)

    Hlavní problém s těmi soubory je ten, že názvy obsahují mezeru, pak se s tím v omezeném prostředí busyboxu blbě pracuje. V awk pak nejde jednoduše vypsat, že název souboru je $9, ale je to "$9 až poslední". To je pak trošku pracnější korektně vypsat - musel by tam být cyklus.

    Napadlo mě ještě tohle:

    ls -lrt|tail -n+2|cut -c 23-
    19.10.2016 17:54 Pavel
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Příloha:
    Už se mi to povedlo napsat bez cyklu a s použitím jen toho, co je v Openelec (tedy není nutné nic přibalovat).

    Ze začátku se mi to nechtělo dělit s příkazem cat po řádkách ani s uvozovkami (všechny řádky byl jeden celý dlouhý řádek) ani bez (každé slovo bylo na jednom řádku), ale pak jsem někde našel, že musí být na začátku scriptu výraz IFS=$'\n'. Tím se dělí řádky podle \n - to tam dodá awk. Nemusím už potom používat cyklus for. Řádky očísluji sedem (cat -n nejde v Openelec, nl taky ne), seřadím sortem podle třetího pole, parametrem -u odstraním duplicitní řádky, pomocí cut odříznu první pole s číslováním řádků a uložím.

    Funguje přesně tak jak jsem chtěl, tj.každá hodnota ve svém sloupci (datum a čas, velikost v bytech a název).

    Josef Kufner avatar 19.10.2016 21:48 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Na tohle už se hodí sáhnout po nějakém rozumném jazyce a netrápit se s shelem. Není tam třeba Python, PHP nebo Perl?
    Hello world ! Segmentation fault (core dumped)
    21.10.2016 07:44 Pavel
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Je tam Python 2.7.3. Ale jediné na co jsem se zmohl, je zobrazení hodnot ze svých scriptů na obrazovce po stisknutí klávesové zkratky. Klávesová zkratka spustí python script, který spustí script bash (rovnou spustit script bash klávesovou zkratkou nejde - zkoušeno i vyčteno na webu). Script bash příkazem sed nahradí v python scriptu slova např.Prvni radek proměnnou, Druhy radek další proměnnou atd... a zobrazí to na obrazovce. Zobrazují se takto např.hodnoty chyb na vstupu BER, hodnoty chyb na výstupu aj.hodnoty z protokolů.

    I když to vypadá kostrbatě, funguje to bezvadně cca už skoro rok.

    Jinak ten bash script na výpis ze složky funguje taky výborně, sloupce jsou odděleny a datum a čas je už ve formátu datum a čas (nikoliv text), takže se dá různě formátovat a řadit v Gnumeric nebo Excel aj....

    Josef Kufner avatar 24.10.2016 00:00 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    Až to budeš nějak upravovat, přepiš to do čistého Pythonu. Bude tě to nejspíš stát trochu studia, ale ušetří ti to kopec práce později a otevře další možnosti.
    Hello world ! Segmentation fault (core dumped)
    6.10.2016 20:25 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    To je ošetrenie vstupu, eskejpovanie je trošku niečo iné. I keď sa tie významy čiastočne prelínajú. Ale, to v jeho prípade nebude problém keďže, možno si spomenieš, že aký oddelovač použil pred tým.
    Josef Kufner avatar 7.10.2016 11:52 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Výpis adresáře do sloupců
    To je ošetrenie vstupu, eskejpovanie je trošku niečo iné.
    Ne.
    Hello world ! Segmentation fault (core dumped)

    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.