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 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 0
    dnes 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

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

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    dnes 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 1
    včera 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    včera 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    včera 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

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

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

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

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (14%)
     (16%)
    Celkem 132 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    Rozcestník

    Dotaz: Rozdelení souboru

    22.2.2021 10:21 Vantar
    Rozdelení souboru
    Přečteno: 774×
    Ahoj, potřebuji rozdělit 1000 řádkový textový soubor do 100 deseti řádkových. V každém řádku je jedno slovo. Neví někdo jak to naprogramovat? (nebo zná někdo program který by to dovedl?) Já se v tom moc nevyznám. Díky za pomoc.

    Řešení dotazu:


    Odpovědi

    Řešení 2× (Aleš Kapica, Filip Jirsák)
    22.2.2021 10:44 hajoucha | skóre: 22
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    co třeba split ?

    přepínač

    -l, --lines=NUMBER put NUMBER lines/records per output file

    22.2.2021 11:51 Vantar
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Rozdělilo to, jenomže do souborů bez přípony .txt co je mi k ničemu.
    22.2.2021 12:06 Vantar
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    update: --additional-suffix=.txt to vyřešilo
    23.2.2021 03:50 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdelení souboru

    Technická poznámka: Nic takového jako „přípona“ neexistuje. Název souboru může a nemusí obsahovat tečku / tečky.

    k3dAR avatar 23.2.2021 16:15 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    ano a pokud nazev souboru obsahuje (jednu nebo vice) tecku, tak to za (pripadnou posledni) teckou je pripona ;-) to ze Linux/UN*X ji nepozaduje na tom nic nemeni :)
    porad nemam telo, ale uz mam hlavu... nobody
    24.2.2021 19:28 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdelení souboru

    Takže u soubor.tar.gz je „přípona“ jenom gz? Jak to? Proč? (A dává to smysl, s ohledem na obsah souboru?)

    Sorry jako, nic takového jako přípona neexistuje.

    Že je UNIX v oblasti souborových systémů jakási norma, to je pravda; nějakých 50 let už to tak je. Takže pokud UNIX nic takového jako příponu nezná, dá se s klidem říct, že přípona neexistuje.

    Jo, že jistý rychlý a špinavý „operační systém“ (sesmolený kýmsi za víkend a prodávaný davům neználků) kdysi umožňoval rozšířit úžasně dlouhé 8-znakové názvy o 3 znaky za tečkou, to je jakási ošklivá historie, na kterou nejlepší zapomenout. Podobně jako na fakt, že se ve středověkých městech vylévala hovna na ulici.

    24.2.2021 20:32 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Už dávno sa aj v Linuxe berie do úvahy prípona súboru. Časy keď sa zisťoval typ súboru podľa jeho obsahu a následné vykonanie akcie (kombinácia nástroja file, a mime-type) stratili svoje čaro.
    24.2.2021 20:52 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Už dávno sa aj v Linuxe berie do úvahy prípona súboru.

    To je zajímavý názor. Kde přesně ve zdrojácích kernelu tohle braní přípony do úvahy najdu?

    24.2.2021 22:36 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    V správcovi súborov .
    25.2.2021 00:33 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdelení souboru

    Aha. :-D Tak děkuji za potvrzení toho, co jsem psal výše: v kernelu nic takového není. Jediný případ, kdy má tečka v UNIXových názvech souborů speciální význam, jsou adresáře „.“ a „..“.

    Správce souborů, jako každý userspace program, může klidně považovat za důležité předpony, přípony i kterékoliv jiné části názvů souborů. To ale nic nemění na faktu, že z hlediska operačního systému a filesystému žádná přípona neexistuje.

    k3dAR avatar 25.2.2021 01:34 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    budes se aasi divit, ale zdrojaky jadra obsahuji soubory napr. s priponou .c, pro hlavickove soubory pak pripona .h...
    dale asi budes nechapat, ale tazatel neresil soubor.txt pro zpracovani jadrem, ale nejakym programem co ocekava (nebo jeho uzivatel) priponu .txt, dale ze pouzitej nastroj split ma parametry pro suffix, tedy priponu... sed pri zmene inplace vytvari zalohu s priponou (uzivatelem definovatelnou), dale napriklad Freedesktop specifikace rika ze soubor popisujici (mimojine) spoustec ma priponu .desktop, systemd pouziva pro sluzby priponu .service... takze tve pozdejsi upresneni ze ti slo o "co je v kernelu" nic na tomto nemeni, ani na tom ze puvodne ses tvaril ze neexistuje pripona souboru obecne ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    25.2.2021 06:29 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdelení souboru

    Šmarja, já jsem vůbec neřešil, jak se zdrojáky jmenují, ale co dělají. (Toto už snad ani není obvyklá „argumentace“ typu kátřidAR, toto už je o level jinde.)

    Pokud nějaký program očekává konec názvu .txt, tak ať mu uživatel klidně ten soubor přejmenuje, jak je potřeba. A co má být?

    Freedsktop specifikace se týká kernelu nebo userspace? (Hint: Počítá freedesktop s konkrétním kernelem? Počítá s konkrétním filesystémem? Říká někde, že celý kernel a/nebo některý filesystém musí speciálně chápat konstrukt zvaný přípona? Ne.)

    Mohl jsi zvolit mnohem okatější jakože-rádoby-protipříklad: „skryté“ soubory a adresáře s názvy začínajícími tečkou. (Zase ta tečka z hlediska (file)systému nic neznamená; je to jenom konvence, která říká, co se nemusí příliš okatě ukazovat v souborových manažerech.) Jenže tomuhle zjevnému příkladu se tady zatím každý potichu vyhnul, protože zrovna tam není jasné, co má být přípona. Takže když mám někde adresář .config, má příponu nebo ne? Je .config jméno nebo přípona?

    Zkrátka a dobře, báje o příponě je skvělý způsob, jak se zamotat do slovíčkaření.

    A ať už jsem se tvářil tak nebo onak, přípona neexistuje.

    25.2.2021 07:51 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Na jednu stranu jadro alebo ovládač FS pre svoj beh nepotrebujú prípony lebo bodka je štandardnou súčasťou názvu súboru.

    Na druhú stranu keby neboli tie prípony, tak jadro ani nevznikne. Podľa prípony sa rozhoduje sada nástrojov na preklad zo zdrojákov ako s daným zdrojákom naloží.

    Omáčku okolo toho je zbytočné rozoberať. Proste, ten akoby nezmysel je potrebný aj pre jadro.
    25.2.2021 22:26 kvr
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    To, že přípona se nezpracovává samotným jádrem OS, neznamená, že neexistuje. Disk neví nic o souborech a taky nebudu tvrdit, že soubory neexistují. Stejně jako elektron neví nic o atomu, ale neznamená to, že atom neexistuje.

    Na vyšších vrstvách abstrakce definujeme nové pojmy, abychom zjednodušili porozumění problému. Přípony jsou primárně pro lidi, aby věděli, co čekat uvnitř (to, že můžou být špatně nebo se dokonce zneužívají, je jiná věc). Nástroje jako správce souborů nebo editory jim v tom účinně pomáhají.
    25.2.2021 10:35 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Takže keď urobím
    cp /etc/passwd /tmp/foo.jpg
    a potom správcovi súborov kliknem na /tmp/foo.txt tak sa mi otvorí prehliadač obrázkov a nie textový editor? Tak to máš teda blbého správcu súborov ;-)
    25.2.2021 10:37 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Oprava:

    ... kliknem na /tmp/foo.jpg ...
    25.2.2021 10:59 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Áno, správcovia súborov prebrali tento typ práce z iného OS. Podobne ako sa kedysi zrušila funkcionalita DPI udávajúca fyzickú hustotu obrazových bodov, a začalo to (ehm) fungovať ako "Font Scaling". Holt, návyky z iných OS dokázali nakaziť a eliminovať korektnú funkcionalitu na Linuxe.

    Teda v prípade mainstream ucelených grafických rozhraní. Geekovia si to vedia, a aj chcú nastaviť podľa seba. Tak aby ich takéto vylomeniny nelimitovali.
    25.2.2021 10:34 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    fs/binfmt_misc.c
    25.2.2021 09:16 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Už dávno sa aj v Linuxe berie do úvahy prípona súboru. Časy keď sa zisťoval typ súboru podľa jeho obsahu a následné vykonanie akcie (kombinácia nástroja file, a mime-type) stratili svoje čaro.
    Cože?! Jsi spadl z višně, ne? Vyzkoušej si příkaz file.
    25.2.2021 10:52 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Reaguješ s návrhom na použitie nástroja, ktorý som priamo spomínal v príspevku na ktorý reaguješ.
    25.2.2021 23:36 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Psal jsem ti to proto, že na nějaké přípony sere pes. Různé typy souborů mají různé hlavičky.
    26.2.2021 08:38 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Toľká sebakritika.
    27.2.2021 14:58 Bherzet | skóre: 19 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Takže u soubor.tar.gz je „přípona“ jenom gz?
    Ano, samozřejmě.
    $ file test.tar.gz 
    test.tar.gz: gzip compressed data, last modified: Sat Feb 27 12:51:33 2021, from Unix, original size 10240
    
    Jak to? Proč? (A dává to smysl, s ohledem na obsah souboru?)
    Dává to dokonalý smysl.
    $ gzip -d test.tar.gz
    $ ls
    test.tar
    $ tar -xvf test.tar 
    test.txt
    $ ls
    test.tar  test.txt
    
    Jinak řečeno: soubor test.tar.gz dekomprimuji programem gzip, čímž získám test.tar. To už je archiv, který sám o sobě může obsahovat různé soubory o různých příponách, pročež není zvykem je uvádět – nedává to smysl. V tomto případě, kdy jsem do .tar.gz ukryl jediný soubor, bych sice mohl celý archiv označit jako test.txt.tar.gz, ale ukazoval bych tím akorát svou hloupost a úplně zbytečné použití taru. Daleko smysluplnější by bylo test.txt.gz – a vskutku, s podobnými názvy se již setkat lze.
    Sorry jako, nic takového jako přípona neexistuje.
    Přípona, anglicky bychom řekli suffix, je věc, která existuje tak nějak z definice.
    Takže pokud UNIX nic takového jako příponu nezná, dá se s klidem říct, že přípona neexistuje.
    UNIX nezná tvojí mámu, ale to neznamená, že neexistuje/neexistovala.
    Jo, že jistý rychlý a špinavý „operační systém“ (sesmolený kýmsi za víkend a prodávaný davům neználků) kdysi umožňoval rozšířit úžasně dlouhé 8-znakové názvy o 3 znaky za tečkou, to je jakási ošklivá historie, na kterou nejlepší zapomenout. Podobně jako na fakt, že se ve středověkých městech vylévala hovna na ulici.
    V MS-DOSu měla přípona technický význam. Nejen v tom, že se jí dostávalo zvláštního zacházení na úrovni souborového systému (tečka samotná nebyla ve FAT uložená a např. názvy SOUBOR a SOUBOR. jsou proto identické), ale i proto, že se jednalo o primární a většinou asi jediný způsob určení typu souboru. Např. validní dávkový soubor, ovšem s jinou příponou než .BAT, by ze standardního COMMAND.COM zkrátka nešel spustit (pokud si správně vzpomínám).

    V UNIX-like systémech se s takto rigidními požadavky obvykle nesetkáváme a většina softwarového vybavení umí pracovat s libovolně pojmenovanými soubory. Přípona přežívá zejména jako užitečná konvence, která umožňuje na první pohled a s pomocí standardních nástrojů (jako např. ls nebo mc) poznat typ souboru. Je to možná trochu smutné, že ve 21. století stále pracujeme s vlastně, mohli bychom to tak nazvat, nízkoúrovňovými nástroji, které sami od sebe neudělají ten krok navíc a neřeknou nám skutečný význam toho kterého souboru, nýbrž se musíme spoléhat na jmenné konvence (!), ale na druhou stranu je to jednoduché a většinou to dobře funguje.

    Ale zpátky k tématu:
    Rozdělilo to, jenomže do souborů bez přípony .txt co je mi k ničemu.
    Technická poznámka: Nic takového jako „přípona“ neexistuje. Název souboru může a nemusí obsahovat tečku / tečky.
    Jak jinak bys tedy formuloval tazatelův výrok ty? On potřeboval, aby mu to vygenerovalo soubory, jejichž názvy končí znaky .txt. A tomu se prostě říká přípona. Stejně tak by mohl chtít, aby ty názvy začínaly nějakou předponou, prefixem. Poznámka o „neexistenci přípon“ je snaha o zbytečné hnidopišství, navíc založené na mylné domněnce, že přípona musí být část názvu souboru se speciálním technickým významem.
    1.3.2021 09:42 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Rozdelení souboru
    Jen bych doplnil, že se místo archiv.tar.gz také občas používá archiv.tgz.
    24.2.2021 11:12 Vtipnéř | skóre: 38 | blog: Vtipnéřův blog | Brno
    Rozbalit Rozbalit vše Re: Rozdelení souboru

    Technická poznámka: Nic takového jako „přípona“ neexistuje. Název souboru může a nemusí obsahovat tečku / tečky.

    Máš pravdu, ale my, co jsme začínali na RSX-11 a MS-DOS 3.3, tomu tak říkáme.

    Jirka

    Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
    24.2.2021 19:29 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdelení souboru

    Ano, zlozvyků je těžké se zbavit, ale je dobré se o to alespoň pokusit.

    Gréta avatar 23.2.2021 13:04 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Rozdelení souboru

    co třeba jako awk :O ;D

    awk 'NR%100==1{nazev=++i".txt";}{print > nazev}' vstupni_soubor.txt
    24.2.2021 20:41 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdelení souboru

    Domácí úkoly je třeba řešit samostatně. Jedině tak se člověk něco naučí. Hledání řešení a metoda pokus/omyl je nezbytným předpokladem k pozdějšímu zvládnutí předmětu či oboru.

    split_file() {
      local -r file="$1"
      local -ri lines="${2:-10}"
      local -i blocknum=0
      local -i linenum=0
      local line
      for ((;;)); do
        while read line; do
          echo "$line"
          if ! ((++linenum % lines)); then
            ((++blocknum))
            continue 2
          fi
        done > "${file}.$((blocknum))"
        break
      done < "$file"
    }
    

    Příklad použití:

    cd /tmp
    cp /proc/cpuinfo .
    split_file cpuinfo
    

    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.