Hogyan cserélhetünk ki egy szövegben szövegrészt másikra?

Avagy a sed sövegszerkesztõ használata. 1-2. rész
A sed egy folyam típusú szövegszerkesztõ, ami azt jelenti, hogy a bemenetén egy adatfolyóból várja az adatokat és a kimenetén egy adatfolyóba teszi. Természetesen mindezt egy fájlból is el tud végezni (,de mint tudjuk "a UNIX-ban minden egy fájl"). készítsünk egy szöveg fájlt az alábbi tartalommal:
alma korte alma
szilva alma banan

pl.: vi proba.txt
i

Kilépni a vi-ból úgy tudunk, hogy Esc aztán SHIFT + ZZ
Ezzel lementettük a proba.txt -ét.

sed -e 's/alma/almára/' proba.txt
almára korte alma
szilva almára bana
A fentieket írta ki, tehát kicserélte az alma szót almára.

Láthatjuk, hogy a sorban lévõ második alma szót nem cseréli ki.  A g alparaméterrel lehet közölni akaratunkat a géppel, hogy az egy sorban lévõ több elõfordulást is cserélje ki.
sed -e 's/alma/almára/g' proba.txt
almára korte almára
szilva almára bana

Fájlba is be tehetjük a parancsainkat. Készítsünk egy fájlt 'parancs' néven, az alábbi tartalommal:
s/alma/almára/g

Így futtathatjuk:
sed -f  parancs proba.txt
almára korte almára
szilva almára bana

Mire jó ez?
Tegyünk hozzá a parancs nevû fájlhoz még ezt a sort:
s/korte/körték/g

Futtassuk:
sed -f  parancs proba.txt
almára körték almára
szilva almára bana

Látható, hogy a korte szót is kicserélte.

folyt. köv.
erdoslinux@gmail.com 0620/382-4997
Vissza