Jak sloučit soubory? Vyřešeno

...

Moderátor: Mods_senior

flowem
Level 5.5
Level 5.5
Příspěvky: 2831
Registrován: březen 13
Pohlaví: Muž
Stav:
Offline

Jak sloučit soubory?

Příspěvekod flowem » 31 srp 2020 16:33

Zdravím,

mám dva soubory, jeden s českými slovy, druhý s anglickými a potřebuju je nějak spojit.
Jde mi o to, aby položky, které mají první slovo stejné, se přepsaly na české a ty, které chybí, aby se nakopírovaly.

Příklad:

Anglický soubor:

Kód: Vybrat vše

APPLE   Apple
ORANGE   Orange
BLUE   Blue


Český soubor:

Kód: Vybrat vše

APPLE   Jablko
APPLE_2   Jablko2
ORANGE   Pomeranč
APRICOT Meruňka


Výsledek:

Kód: Vybrat vše

APPLE   Jablko
APPLE_2   Jablko2
ORANGE   Pomeranč
APRICOT Meruňka
BLUE   Blue


Jsou to .txt soubory s několika set slovy, šlo by to nějak udělat?

Díky
AMD Ryzen 5 5600X | MSI MAG B550 TOMAHAWK | G.Skill Aegis 32GB 3200MHz | Kingston A2000 1TB | PowerColor Red Devil RX 6700 XT 12GB | XPG Core Reactor 750W | Be quiet! PURE BASE 500 | Asus VG27AQ1A

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod faraon » 31 srp 2020 16:56

Malý prográmek v BASICu, Perlu, Pythonu... Nebo s trochou ruční práce to můžeš udělat v nějakém spreadsheetu, třeba Excelu.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

flowem
Level 5.5
Level 5.5
Příspěvky: 2831
Registrován: březen 13
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod flowem » 31 srp 2020 17:03

V tom bohužel neumím... pokud by se našla ochotná duše, která by mi to napsala (pokud to není nějak časově náročný), byl bych moc rád.
Případně, pokud existuje nějaký program, který by to dokázal a je někde ke stažení, tak prosím o link.

Mám těch souborů na sloučení vícero a strašně by mi to ulehčilo život... :-D
AMD Ryzen 5 5600X | MSI MAG B550 TOMAHAWK | G.Skill Aegis 32GB 3200MHz | Kingston A2000 1TB | PowerColor Red Devil RX 6700 XT 12GB | XPG Core Reactor 750W | Be quiet! PURE BASE 500 | Asus VG27AQ1A

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod ITCrowd » 31 srp 2020 17:16

Zkus si pročíst: viewtopic.php?f=39&t=106648 Předpokládám něco podobného.
Pokud ano, tak dodat vzorové soubory.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

petrmet
Level 3
Level 3
Příspěvky: 440
Registrován: leden 15
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod petrmet » 31 srp 2020 17:26

Já bych to řešil v databázi. Soubory importovat do tabulek, join, export do txt.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod faraon » 31 srp 2020 21:24

Tak co, jak jste daleko s domácím úkolem? :lol:

Mě to z programu vylezlo takhle seřazené:

Kód: Vybrat vše

APPLE   Jablko
APPLE_2   Jablko2
APRICOT Meruňka
BLUE   Blue
ORANGE   Pomeranč

A nebo takhle bez abecedního seřazení:

Kód: Vybrat vše

APPLE   Jablko
ORANGE   Pomeranč
BLUE   Blue
APPLE_2   Jablko2
APRICOT Meruňka

Předpokládám že jde vždy jen o jedno anglické slovo, a ne slovní spojení. To by se potom musel použít jiný oddělovač než mezera!
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak sloučit soubory?

Příspěvekod CZechBoY » 31 srp 2020 21:35

Pokud je to stejne serazeny tak opravdu ctrl+c ctrl+v v excelu :)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod faraon » 01 zář 2020 19:13

První školní den je za námi a já mám domácí úkol hotový. Teda doufám, potřeboval bych víc dat k otestování:

https://www.youtube.com/watch?v=qe-EoCPAyyI
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3202
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod atari » 01 zář 2020 20:38

:thumbup:

_hm
nováček
Příspěvky: 26
Registrován: červenec 20
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod _hm » 02 zář 2020 09:17

Pro příště je dobré i napsat, co máš pro řešení k dispozici.

BASIC použitý v ukázce výše (od *faraona*) je výborný jazyk, sám jsem s ním kdysi začínal. Ten by měl být v každém PC s Microsoftem.

Jestli máš Linux, můžeš využít např. již zmíněný Perl. Tam by to bylo třeba nějak takhle:

Kód: Vybrat vše

#!/usr/bin/perl -w

if ($#ARGV != 1) {
   print "\nNejsou zadány soubory.";
   print "\nProgram je nutné spustit se dvěma parametry: anglický_soubor český_soubor\n";
   exit 0;}

my %hVysl;
open (Anglicky, $ARGV[0]);
foreach my $Radek (<Anglicky>) {
   my @Slova = split (' ', $Radek);
   $hVysl{$Slova[0]} = $Slova[1];}
close (Anglicky);
open (Cesky, $ARGV[1]);
foreach my $Radek (<Cesky>) {
   my @Slova = split (' ', $Radek);
   $hVysl{$Slova[0]} = $Slova[1];}
close (Cesky);
foreach my $Klic (sort (keys %hVysl)) {
   print $Klic . ' ' . $hVysl{$Klic} . "\n";}

Ze vstupních souborů

Kód: Vybrat vše

APPLE Apple
ORANGE  Orange
BLUE   Blue


a

Kód: Vybrat vše

APPLE        Jablko
APPLE_2   Jablko2
ORANGE Pomeranč
APRICOT Meruňka


to vypíše

Kód: Vybrat vše

APPLE Jablko
APPLE_2 Jablko2
APRICOT Meruňka
BLUE Blue
ORANGE Pomeranč

Výpis si můžeš přesměrovat do souboru.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod faraon » 02 zář 2020 18:25

To je moc pěkná ukázka toho, že v Perlu jde opravdu o MALÝ prográmek 8)

QBasic býval povinnou součástí MS-DOSu a ještě na instalačkách W9x byl přidaný jako doplněk. Já to můžu zkompilovat jenom šestnáctibitově, takže to dnes poběží akorát v DOSBoxu, což je nejjednodušší a nejrozšířenější virtualizační platforma schopná spouštět shodné programy na téměř jakémkoliv dnešním počítači s jakýmkoliv systémem, včetně lepších mobilů. Ale také existuje QB64, pomocí kterého by to mělo jít spustit i na dnešních čtyřiašedesátibitových Widlích!

A jinak interpret QBasicu lze na Internetu najít a stáhnout z mnoha tisíc míst, je to jeden z nejrozšířenějších "warezů". A stále má rozsáhlou uživatelskou základnu, poslední roky s probíhající retrovlnou dokonce rostoucí...

Takže zdroják programu je k dispozici po licencí GNU GPL 3 a jeho použití je na vlastní nebezpečí: :lol:
PREKRYV.ZIP
Naposledy upravil(a) faraon dne 03 zář 2020 20:49, celkem upraveno 1 x.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

flowem
Level 5.5
Level 5.5
Příspěvky: 2831
Registrován: březen 13
Pohlaví: Muž
Stav:
Offline

Re: Jak sloučit soubory?

Příspěvekod flowem » 02 zář 2020 21:49

Děkuji všem za reakce, neměl jsem teď moc času, ale zkusím odpovědět nějak všem.

Vždycky se jedná jen o 2 soubory, které je potřeba sloučit. Nikdy není stejný počet řádků. Stejná slova nejsou ani na stejném řádku. Všechno je poházené a v EN souboru je třeba 3x méně slov než v tom českém, ale i přesto to potřebuju sloučit, abych měl výstup všechny české (pokud to jde, viz můj 1. příspěvek) a zbytek ty anglické, které v CZ souboru nebyly.

Ještě teda dodám, že jak máme vždycky začátek, ten je vždy velkými písmeny a může mít více slov, ty jsou ale vždy děleny podtržítkem, třeba THIS_IS_ THE_FIRST.
A pak je vždy mezera (TAB) a následují slova, která můžou být složena z více slov, ale už jen s mezerou.
Takže to může vypadat klidně takhle:
Pro CZ: THIS_IS_ THE_FIRST Tohle je první
Pro EN: THIS_IS_ THE_FIRST This is the first
Výsledek bude tedy v CZ.

Vyzkouším co radíte a dám vědět.

Dodatečně přidáno po 33 minutách 59 vteřinách:
EDIT:

_hm: tvůj script funguje dobře, ale ignoruje ty slova s mezerou, vypíše vždy jen první slovo a pak už vypisuje zase další řádek. Šlo by to nějak upravit? Nějak se mi to nedaří vypsat do souboru, mohl bys to prosím taky přidat?

EDIT2: Tak dobrý, už mi to ukládá do souboru. Ty mezery jsem vyřešil jinak.

Ještě poslední věc, pokud to teda půjde nějak... šlo by udělat, aby to česká slova, která nejsou zároveň i v anglickém souboru, ignorovalo a vůbec je nevypsalo? Že by to teda vypsalo jen ty, které jsou zároveň v CZ i AN souboru, ale ty, které jsou jen v AN a nejsou v CZ by zůstaly i tak. :-D

Díky :-)
AMD Ryzen 5 5600X | MSI MAG B550 TOMAHAWK | G.Skill Aegis 32GB 3200MHz | Kingston A2000 1TB | PowerColor Red Devil RX 6700 XT 12GB | XPG Core Reactor 750W | Be quiet! PURE BASE 500 | Asus VG27AQ1A


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Jak kopírovat soubory z hostitele do VirtualBoxu? Příloha(y)
    od atari » 26 črc 2023 16:36 » v Windows 11, 10, 8...
    5
    1503
    od atari Zobrazit poslední příspěvek
    27 črc 2023 11:30
  • Jak zobrazit soubory z ostatních disků Příloha(y)
    od xDwery » 24 kvě 2023 14:57 » v Problémy s hardwarem
    2
    704
    od xDwery Zobrazit poslední příspěvek
    24 kvě 2023 20:09
  • Jak zobrazit soubory z ostatních disků.
    od xDwery » 24 kvě 2023 06:05 » v Problémy s hardwarem
    1
    598
    od ITCrowd Zobrazit poslední příspěvek
    24 kvě 2023 06:26
  • W11-Otvírají se všechny text soubory
    od supfor » 06 bře 2024 20:24 » v Windows 11, 10, 8...
    4
    823
    od supfor Zobrazit poslední příspěvek
    15 bře 2024 20:41
  • Soubory na ikoně excel hlavního panelu Příloha(y)
    od VOM » 03 led 2024 19:28 » v Kancelářské balíky
    3
    1054
    od VOM Zobrazit poslední příspěvek
    05 led 2024 10:46

Zpět na “Vše ostatní (sw)”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů