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 15:11 | Zajímavý článek

Softwarový syntezátor pro Linux Yoshimi (fork ZynAddSubFX) byl vydán ve verzi 2.0. Lukáš Růžička představuje Yoshimi v článku Hahaha Yamaha aneb Jak si z notebooku udělat synťák? na MojeFedora.cz.

Ladislav Hagara | Komentářů: 0
dnes 09:00 | Nová verze

Byla vydána nová verze 21.0 komunitní edice multiplatformního v Javě naprogramovaného univerzálního SQL klienta a nástroje pro správu databází DBeaver (Wikipedie). Proběhla změna číslování. Verze 21.0 vychází po verzi 7.3. Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache 2.0.

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

Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 103 (pdf), HackSpace 40 (pdf), Wireframe 47 (pdf) a Hello World 15 (pdf).

Ladislav Hagara | Komentářů: 1
27.2. 16:22 | IT novinky

Google na svém blogu věnovaném AI představil nový hlasový kodek Lyra. Kvalitou je kodek Lyra s datovým tokem 3 kbps srovnatelný s kodekem Opus s datovým tokem 8 kbps.

Ladislav Hagara | Komentářů: 14
27.2. 10:00 | Nová verze

Po šestnácti měsících byla vydána nová verze 2.3 a krátce na to opravná verze 2.3.1 open source nástroje OnionShare pro přenos souborů, hostování webů a chatování přes Tor. Přehled novinek v příspěvku na blogu. Pro Linux je OnionShare k dispozici také ve formátech Flatpak a Snap.

Ladislav Hagara | Komentářů: 2
27.2. 08:00 | Nová verze

Bola vydaná nová verzia komunitnej distribúcie Mageia 8, ktorá je priamym nasledovníkom niekdajšej Mandrake/Mandrivy. Prináša podporu pre architektúru ARM, novšie prostredie GNOME 3.38.3 a KDE Plasma 20.12.0 a prechod na Python 3. Viac info sa dozviete v poznámkach k vydaniu, ináč Mageia je plne lokalizovaná do národných jazykov a poskytuje tak ako klasické aj živé inštalačné obrazy.

lukve | Komentářů: 0
26.2. 14:22 | Zajímavý software

GNU poke dospěl po třech letech vývoje do verze 1.0. Jedná se o interaktivní rozšiřovatelný editor pro práci se strukturovanými binárním daty. Přednáška věnovaná GNU poke na konferenci Kernel Recipes 2019.

Ladislav Hagara | Komentářů: 0
26.2. 09:00 | Komunita

Počet sad změn v OpenStreetMap dosáhl 100 milionů. Uživatel Lamine Ndiaye přidal budovy ve vesnici Nianiane v Senegalu.

Ladislav Hagara | Komentářů: 4
26.2. 08:00 | Nová verze

Byla vydána nová stabilní verze 2.92 svobodného 3D softwaru Blender. Přehled novinek v oznámení o vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
26.2. 07:00 | IT novinky

Společnost Framework představila svůj první produkt: Framework Laptop. Jedná se o modulární notebook, který bude možné "libovolně" konfigurovat, upgradovat a opravovat. Podrobnosti budou zveřejňovány postupně. V prodeji by měl být v létě [Hacker News].

Ladislav Hagara | Komentářů: 1
Co používáte k zaznamenávání úkolů či poznámek?
 (35%)
 (15%)
 (34%)
 (9%)
 (22%)
 (21%)
 (22%)
Celkem 350 hlasů
 Komentářů: 14, poslední 19.2. 10:41
Rozcestník

Dotaz: Rozdelení souboru

22.2. 10:21 Vantar
Rozdelení souboru
Přečteno: 400×
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í 1× (Aleš Kapica)
22.2. 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. 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. 12:06 Vantar
Rozbalit Rozbalit vše Re: Rozdelení souboru
update: --additional-suffix=.txt to vyřešilo
23.2. 03:50 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
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. 16:15 k3dAR | skóre: 60
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. 19:28 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
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. 20:32 Peter Golis | skóre: 61 | 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. 20:52 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
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. 22:36 Peter Golis | skóre: 61 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Rozdelení souboru
V správcovi súborov .
25.2. 00:33 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
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. 01:34 k3dAR | skóre: 60
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. 06:29 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
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. 07:51 Peter Golis | skóre: 61 | 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. 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. 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. 10:37 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Rozdelení souboru
Oprava:

... kliknem na /tmp/foo.jpg ...
25.2. 10:59 Peter Golis | skóre: 61 | 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. 10:34 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Rozdelení souboru
fs/binfmt_misc.c
25.2. 09:16 Aleš Kapica | skóre: 50 | 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. 10:52 Peter Golis | skóre: 61 | 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. 23:36 Aleš Kapica | skóre: 50 | 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. 08:38 Peter Golis | skóre: 61 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Rozdelení souboru
Toľká sebakritika.
27.2. 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.
dnes 09:42 Aleš Kapica | skóre: 50 | 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. 11:12 Vtipnéř | skóre: 36 | 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. 19:29 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
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. 13:04 Gréta | skóre: 30 | blog: Grétin blogísek | Stockholm
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
pražáci chraňte svý zdraví a zustaňte v bezpečí paneláků hele, hele a hele!!☃ slíkací doktor fylosofie🤡
Řešení 1× (Gréta)
24.2. 20:41 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
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.