nahradit retazec...
Miroslav Lachman
000.fbsd at quip.cz
Wed Dec 21 10:00:25 CET 2005
Lubomir Majersky wrote:
> Peter Lecky napsal(a):
>
>>a co tak mcedit a F4?
>>
>
> ...pri 10-kach tisicoch suboroch? Clovece si dobry...
> Napisal som predsa subor1, subor2,...suborx
>
> Miroslav Lachman napsal(a):
> > Nestacil by na to sed s volbou -i (Edit files in-place, saving backups
> > with the specified extension.) ?
> > Vice viz man sed.
>
> Jan Pechanec napsal(a):
> > v rychlosti, tenhle prikaz edu:
> > :11g/^/s/50/60/g
> > ti na 11. radce nahradi retezec 50 za 60.
> > scriptem si aplikuj na ty svoje soubory prislusny ed command
>
> Vdaka to som potreboval, stacilo mi len napisat cim, pretoze doteraz
> som nemal prakticky ziadne skusenosti s "ed" a "sed", a tak som ani
> nevedel co hladat. Zacal som si to studovat...
>
> ...a urobil som si taky jednoduchy skriptik,
>
> ### Vytvaram tempfile
> for i in /home/test/*/test[0-9];
> do /usr/bin/sed 's/retazecA/retazecB/g' $i > $i.tmp;
> done;
> ### Muvnutie do povodnych suborov
> for i in /home/test/*/test[0-9];
> do /bin/mv $i.tmp $i;
> done;
>
> ktory sice funguje bez problemov, ale az tak celkom sa mi nepaci, pretoze:
>
> a. neriesi to subory napriklad test11, test12 (musim to explicitne
> uviest v skripte test[0-9][0-9])
>
> b. vystup davam do dalsieho suboru, co by nebolo az tak na skodu, ale
> predstavoval som si to tak, ze budem pracovat len s tym jednym suborom.
> Skusal som to aj takto sed 's/retazecA/retazecB/g' test1 > test1 , ale
> vysledok je neziaduci - prazdny subor
>
> Pytam sa teda Vas, starych harcovnikov, dalo by sa to urobit este
> jednoduchsie? Netreba siahodlho rozvadzat, staci nakopnut, ja si nastudujem
>
> Vdaka
Asi jste spatne cetl muj e-mail, nebo manual sedu, psal jsem tam, ze
mate pouzit volbu -i, ktera zajistuje editaci souboru primo a pokud tomu
date i nejakou hodnotu, jako treba BAK (sed -i BAK), tak vam to do
souboru stejneho jmena s koncovkou BAK ulozi i zalohu puvodniho souboru.
Miroslav Lachman
More information about the Users-l
mailing list