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.