Nabídka

Zobrazit příspěvky

Zde lze prohlédnout všech příspěvky uživatele. Jsou zde vidět pouze příspěvky z oblastí, do kterých máte přístup.

Nabídka Zobrazit příspěvky

Příspěvky - jahelka

#1
Programování / Re:Sloučení více souborů
05. 04. 2020, 12:14:14
Tak ten poslední se již chová dobře, jen fungoval jen pro dvojtečku. V případě, že tam je středník, tak jej úplně ignoroval.
Opravil jsem ho následovně:

sed 's/^[^:]*://;s/^[^;]*;//' <vstup> výstup

Doufám, že to tak může být? Nemám s ním žádné zkušenosti. Jinak ještě jednou moc děkuji!

Edit: Tak po testování mi to ještě nefunguje pro variantu
--------------[Vstup]---------------|-------[Výstup]------
něco1:něco2;něco3                   |něco3

#2
Programování / Re:Sloučení více souborů
04. 04. 2020, 16:26:19
Děkuji,
jen právě druhá a další : nebo ; je v podstatě už správně (součást celku), takže by se naopak neměl odstraňovat a měl by vědět, že je to součástí něco2. Takže bych potřeboval něco takového:
vstup:
něco1:něco2
něco1: něco2
něco1:něco2;něco2
něco1:něco2:něco2
něco1:něco2;něco2;něco2
něco1::něco2
něco1::;něco2
něco1něco2

výstup:
něco2
něco2
něco2;něco2
něco2:něco2
něco2;něco2;něco2
:něco2
:;něco2
něco1něco2

Podmínka na způsob jdi do první dvojtečky nebo středníku a od něj vykopíruj zbývající část textu na řádku (bez toho prvního identifikátoru : nebo ;). Ale nesmí v podmínce chybět, aby hledal vždy jen jednu : nebo jeden ; (takže vždy se odstraní jen jedna : nebo jeden středník a zbytek na řádku už je žádoucí). A stejně tak se může stát, že tam nebude žádná dvojtečka, nebo středník, tak pak to celé považovat za něco2. Mezery jsou v tomto případě taktéž žádoucí, jelikož mohou být součástí řetězce něco2. Ta data jsou tak hloupá, že se to špatně vysvětluje. Kdybych je sem nakopíroval, tak by to bylo strašně matoucí, jelikož jsou to nesmyslné řádky. Proto se to snažím vysvětlit na těch označení něco1 a něco2. Děkuji moc!
#3
Programování / Re:Sloučení více souborů
03. 04. 2020, 16:22:24
Citace od: Roman Horník kdy 02. 04. 2020, 21:51:53
Zvláštní koníček :), zkus něco jako:
for soubor in *.txt; do (cat "${soubor}"; echo) >> výstup.txt; done

Platí pro soubory v aktuální složce a příponou *.txt. Echo přidává novej řádek na konec každýho vstupního souboru. Jestli jsou v tý jediný složce soubory s různou příponou (nebo bez), ALE nic jinýho, místo '*.txt' použij jen '*'.

Děkuji za radu. Nakonec jsem sestavil téměř totožný příkaz ještě před touto odpovědí (pořád mi to nedalo, ale dělal jsem to asi tři hodiny):
for f in *.txt;  do (cat "${f}"; echo) >> vystup.txt; done

Poté jsem zjistil, že sort i uniq nemají rádi čínskou kaligrafii a zanáší chybu, tak to už jsem taktéž vyřešil přes awk, ale narazil jsem na poslední problém a jestli mohu poprosit ještě jednou o radu. To už je na mě moc.

Výstup je nyní
něco1:něco2
nebo
něco1;něco2

A já bych potřeboval vykopírovat každý řádek bez sloupečku něco1 a bez středníku a dvojtečky. Pochopitelně v řádku pak mohou být i další dvojtečky a středníky (ty už jsou součástí něco2). Navíc aby výstup byl jen takto:
něco2
něco2
něco2

A vzhledem k 60GB souboru se může stát, že tam třeba středník nebo dvojtečka nemusí být vůbec. V tomto případě by se řádek měl považovat rovnou za něco2. A i zde platí zachování kódování i znakových sad. Jak říkám, toto už je na mě příliš podmínek. Děkuji chytrým hlavám!
#4
Programování / Sloučení více souborů
02. 04. 2020, 15:00:00
Ahoj,
pokouším se spojit různé soubory s různým kódováním (UTF-7, UTF-8, ANSI apod.) a různou znakovou sadou (vietnamština, čínština, čeština, ruština s azbukou apod.). Pomocí cat příkazu nedochází ke znehodnocení znaků, ale vždy když přechází jeden soubor za druhým, tak poslední řádek spojí s prvním. Můžete mi někdo poradit elegantní příkaz, jak spojit asi 2000 souborů do jednoho, aniž by nedošlo ke znehodnocení znakové sady a ještě tam nevznikali nesmyslné řádky při přechodu na další soubor (například nějakým vložením entru mezi přechody u jednotlivých souborů)? Pokouším se vše dělat přes terminál. Děkuji všem za radu (snad jsem to dal i do správného postu).
#5
Ahoj, potřeboval bych poradit s instalací této síťové karty. Na internetu jsem nalezl jen návod pro ubuntu, který se mi nedaří. Na CD i na internetu (https://www.asus.com/cz/Networking/XG-C100C/HelpDesk_Download/) jsou ovladače v příponě tar.bz2 u kterého mi ale kolabuje příkaz ./configure (bash: ./configure: Adresář nebo soubor neexistuje). Převáděl jsem tento soubor i do deb a nainstaloval, ale nevím asi, jak dále pokračovat.

root@debian:~# dpkg -i /xxxx/Plocha/atlantic1.5.348.0_1-2_all.deb
(Načítá se databáze ... nyní je nainstalováno 130953 souborů a adresářů.)
Připravuje se nahrazení .../atlantic1.5.348.0_1-2_all.deb ...
Rozbaluje se atlantic1.5.348.0 (1-2) přes (1-2) ...
Nastavuje se balík atlantic1.5.348.0 (1-2) ...

Když si vypíši lspci -nnk, tak vidím kartu takto:

04:00.0 Ethernet controller [0200]: Device [1d6a:d107] (rev 02)
   Subsystem: ASUSTeK Computer Inc. Device [1043:8741]

Nemohl by mi někdo poradit, jak se pokračuje v těchto případech? Děkuji moc.