Portál AbcLinuxu, 11. května 2025 01:03

Dotaz: skript pro nahradu slova v txt souboru

20.5.2004 15:15 Dušan Hokův | skóre: 43 | blog: Fedora a další...
skript pro nahradu slova v txt souboru
Přečteno: 75×
Odpovědět | Admin
zdravim, pls potrebuji z jednoho souboru po radcich nachazet vyskyt recezce v uvozovkach a timto retezcem nahradit jiny retezec opet v uvozovkach na stejnem cisle radku v jinem souboru.

Kdyby to slo s bashi pls, aspon naznacte smer... diky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.5.2004 15:17 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed 's/from/to/g' < inputfile > outputfile
20.5.2004 15:43 sine.nomine
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
zkus jakoukoli prirucku un*xu, ktera se aspon letmo otira o sed :)
21.5.2004 08:22 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud chápu dobře zadání (a chápu je zřejmě jinak, než první dvě odpovědi), tak by se mi to v bashi/sedu dělat nechtělo. Co perl?

zhruba (netestováno & perl si už moc nepamatuji :) )
open(SRC, "prvni_soubor")
open(DEST, "druhy soubor")
while (1){
  $_=<SRC> || exit;
  /"([^"]*)"/ || die "Neni uvozovka"; # v $1 řetězec z řádku s ""
  my $word=$1;
  $_=<DEST> || exit;
  s/"[^"]*"/$word/;
  print;
}
21.5.2004 08:34 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
perl -ple 's/from/to/g' <vstup >výstup
21.5.2004 08:44 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
a vstup je první nebo druhý soubor zadání? Podle mě ta úloha *není* o tomhle...
21.5.2004 09:09 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
Jo sorry, nějak mi uniklo to na stejném čísle řádku.
21.5.2004 09:02 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
I když v tom bashi to neni až tak zlé... ale nebude to asi moc robustni.
IFS='"'
exec <"prvni" 2<"druhy"
while read BEFORE WORD AFTER
do
  read BEFORE CHANGE AFTER < 2
  echo "$BEFORE$WORD$AFTER"
done
21.5.2004 14:23 Dušan Hokův | skóre: 43 | blog: Fedora a další...
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
diky vsem, hned to doma zkusim... aby to trosku osvetlil, je to takova pomucka k automatizovani prekladu lang souboru, kde kdyz mam predchozi verzi cesky, tak chci provest nahradu retezcu na shodnych radcich v nove verzi angl. Trosku si s tim pohraju snad to dotahnu do stadia ze: si to porovna anglicke lang soubory obou verzi, pak urci nahrady anglickych vet za ceske a nakonec ty ceske vety vlozi namisto anglickych na spravne misto do nove verze.

Jeste jednou diky vsem...
21.5.2004 16:03 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: skript pro nahradu slova v txt souboru
Jestli to je v ramci systemu gettext, tak co msgmerge?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.