Jak sloučit soubory? Vyřešeno

...

Moderátor: Mods_senior

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

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 7 2700 + Fera 2 | MSI B350 PC MATE | Crucial Ballistix Sport LT 16GB 3200 | Kingston A2000 1TB | Sapphire NITRO+ RX 480 4GB | EVGA 500B

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

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.
Kalendář Intelu na rok 2021:
Leden: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru.
Únor: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel lednový termín.
Březen: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel ani únorový termín.
Duben: Náhodný den ...

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

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 7 2700 + Fera 2 | MSI B350 PC MATE | Crucial Ballistix Sport LT 16GB 3200 | Kingston A2000 1TB | Sapphire NITRO+ RX 480 4GB | EVGA 500B

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

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 2.5
Level 2.5
Příspěvky: 373
Registrován: leden 15
Pohlaví: Muž

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: 7125
Registrován: prosinec 10
Pohlaví: Muž

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!
Kalendář Intelu na rok 2021:
Leden: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru.
Únor: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel lednový termín.
Březen: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel ani únorový termín.
Duben: Náhodný den ...

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

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#, LESS, TypeScript
PhpStorm, Docker, WinSCP, Opera browser, Windows 10
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4

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

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
Kalendář Intelu na rok 2021:
Leden: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru.
Únor: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel lednový termín.
Březen: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel ani únorový termín.
Duben: Náhodný den ...

Uživatelský avatar
atari
Level 5.5
Level 5.5
Příspěvky: 2735
Registrován: říjen 08
Pohlaví: Muž

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ž

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: 7125
Registrován: prosinec 10
Pohlaví: Muž

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.
Kalendář Intelu na rok 2021:
Leden: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru.
Únor: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel lednový termín.
Březen: Náhodný den zakroužkovaný a u něj napsáno: Uvedení 9nm procesoru, kdyby nevyšel ani únorový termín.
Duben: Náhodný den ...

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

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 7 2700 + Fera 2 | MSI B350 PC MATE | Crucial Ballistix Sport LT 16GB 3200 | Kingston A2000 1TB | Sapphire NITRO+ RX 480 4GB | EVGA 500B


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Excel neotevírá soubory po dvojkliku
    od aa33kk » 20 kvě 2020 19:41 » v Kancelářské balíky
    8
    781
    od aa33kk
    20 kvě 2020 20:37
  • Můžu odstranit tyhle soubory?
    od liborek » 10 lis 2020 18:54 » v Windows 10, 8, 7, Vista, XP…
    3
    502
    od juwa
    10 lis 2020 23:49
  • Omezit využití paměti RAM soubory RAM?
    od franklewi57 » 01 bře 2021 15:10 » v Windows 10, 8, 7, Vista, XP…
    0
    331
    od franklewi57
    01 bře 2021 15:10
  • Kam se ukládají instalační soubory programů ve win10?
    od bluenite » 12 led 2021 00:34 » v Windows 10, 8, 7, Vista, XP…
    8
    447
    od bluenite
    15 led 2021 19:17
  • Jak nasdílet složky, soubory - pouze pro určitá PC?
    od JohnyCage » 12 zář 2020 21:35 » v Windows 10, 8, 7, Vista, XP…
    12
    838
    od ITCrowd
    13 zář 2020 18:22

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

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 1 host