A Linux egyik hasznos és hatékony parancsa a „sed” parancs. Ez a parancs különböző típusú feladatok végrehajtására szolgál a Linux rendszerben, például egy adott szöveg vagy sor beszúrása, frissítése és törlése az egyezés alapján. A „sed” paranccsal különféle módon illeszthet be szöveget egy karakterláncba vagy egy fájlba.
Ez a bemutató bemutatja, hogyan lehet beszúrni egy sort, ha talál egyezést egy karakterláncban vagy egy sorban.
Helyezzen be egy sort a karakterláncba
Új sor beilleszthető bármely karakterlánc érték után a „sed” paranccsal, ha a parancsban megadott minta megegyezik a karakterlánc bármely részével.
A következő példa bemutatja, hogyan lehet új sort hozzáadni egy karakterlánc értéke után, ha egy adott karakterlánc bárhol létezik a karakterlánc értékében.
1. példa: Helyezzen be egy sort a karakterláncba, miután megtalálta az egyezést
A következő parancs az „inng” kifejezésre keres a karakterláncban, „szeretem a programozást”, és egy szöveges sort: „Tetszik a programozás?”Beillesztésre kerül a karakterlánc után, ha a keresési karakterlánc létezik.
Itt a „&” karaktert használjuk a sor beszúrására a karakterlánc után.
$ echo "Szeretek programozni."| sed 's / inng / & Tetszik a programozás?/ 'A következő kimenet azt mutatja, hogy az „inng” nem létezik a karakterláncban, és a karakterlánc után nem kerül sor beillesztésre.
A következő parancs a következőre fog keresni:.”A karakterláncban„ Szeretem programozni ”, és létezik a karakterláncban.
A következő kimenet azt mutatja, hogy az új sor hozzáadásra kerül a karakterlánc után.
Helyezzen be egy sort a Fájlba
Kétféleképpen lehet beszúrni egy sort, miután az egyezés megtalálható az alább említett fájlban. Ha a „sed” parancsot az „-i” opció nélkül használják, akkor a fájl tartalma változatlan marad, és a kimenet megmutatja a fájl tartalmát a beillesztett új sorral. Az „-i” opciót a „sed” paranccsal kell beillesztenie az új sort véglegesen a fájlba, ha a megfelelő minta létezik a fájlban.
A. Az „a” használata a „sed” parancsban
Az „a” használható a „sed” keresési mintájában, ha egy vagy több sort hozzáfűz egy fájlba a sor után, ahol a keresési minta egyezik, vagy egy adott sorszám után.
B. Az „i” használata a „sed” parancsban
Az „i” a „sed” parancs keresési mintájában használható egy vagy több sor beszúrására egy fájlba annak a sornak az elé, amelyre a keresési minta egyezik.
Sorok beillesztése a fájlba a minta alapján:
Hozzon létre egy tabulátorral tagolt szöveges fájlt Termékek.txt a következő tartalommal a fenti zászló használatának megjelenítésére a „sed” parancsban.
Termékek.txt
Azonosító neve01 Ostorkrém
02 Kakaópor
03 Cukor
04 Tojás
05 Liszt
2. példa: Helyezzen be egy sort egy adott sorszám után az „a” betűvel
A következő parancsok megmutatják, hogyan lehet új sort hozzáadni a termékek adott sorszáma után.txt fájl, a „sed” parancsban használt minta alapján.
Itt az első parancs megmutatja a fájl meglévő tartalmát. A „sed” parancs a fájl első két sora után hozzáfűzi a „b01 sütőpor” szöveget. Az utolsó paranccsal ellenőrizhető, hogy a fájl tartalma megváltozott-e vagy sem.
$ macska termékek.txt$ sed '2 a b01 \ tSütőpor' termékek.txt
$ macska termékek.txt
A fenti kimenet a fenti parancs futtatása után jelenik meg.
3. példa: Helyezzen be egy sort az utolsó sor után az „a” betűvel
A következő parancs megmutatja az új sor hozzáfűzésének módját a fájl utolsó sora után. Az első és az utolsó parancs megmutatja a fájl meglévő tartalmát a „sed” parancs végrehajtása előtt és után. A „$” szimbólumot a „sed” parancs mintázatában használják, hogy megemlítsék a fájl utolsó sorát.
$ macska termékek.txt$ sed '$ a b01 \ tSütőpor' termékek.txt
$ macska termékek.txt
A fenti kimenet a fenti parancs futtatása után jelenik meg.
4. példa: Helyezzen be egy sort a fájl bármely pontjára, miután az „a” betűvel egyeztetett
A következő „sed” parancs megmutatja, hogyan lehet új sort adni a fájl bárhova az egyező minta alapján. A „sed” parancsban használt mintázat az „s01” kezdetű bármely sort megkeresi, és utána adja hozzá az új karakterláncot. A fájl negyedik sora „s01” -nel kezdődik, és az új sor e sor után kerül beillesztésre.
$ macska termékek.txt$ sed '/ ^ s01.* / a b01 \ tSütőpor termékek.txt
$ macska termékek.txt
A következő kimenet jelenik meg a parancs futtatása után.
A következő „sed” parancs megkeresi a „Powder” végződésű sorokat, és beszúrja utánuk az új sort. A fájl harmadik sora „Powder” -nel végződik. Tehát az új sor e sor után kerül beillesztésre.
$ sed '/ Por $ / a b01 \ tSütőpor' termékek.txt
$ macska termékek.txt
A fenti parancsok futtatása után a következő kimenet jelenik meg.
5. példa: Helyezzen be több sort az egyező minta után az „a” betűvel
A következő „sed” parancs megmutatja, hogyan lehet több sort felvenni a fájl tartalmába az egyező minta alapján.
Itt a harmadik vonal után két sor kerül a mintának megfelelően.
$ macska termékek.txt$ sed '/ ^ [a-c] / a b01 \ tSütőpor \ nb02 \ tSodapohár termékek.txt
$ macska termékek.txt
A fenti parancsok futtatása után a következő kimenet jelenik meg.
6. példa: Helyezzen be egy sort, miután a mintának megfelelt az „I”
$ macska termékek.txt$ sed '/ cream / i b01 \ tSütőpor' termékek.txt
$ macska termékek.txt
A fenti parancsok futtatása után a következő kimenet jelenik meg.
7. példa: Helyezzen be véglegesen egy sort az egyező minta után az „-i” opcióval
A következő „sed” parancs megmutatja, hogyan lehet véglegesen megváltoztatni a fájl tartalmát. Az „i” opciót a „sed” paranccsal használják, hogy a minta alapján egy új sort illesszenek be a fájlba.
$ macska termékek.txt$ sed -i '/ e $ / a g01 \ tGhee' termékek.txt
$ macska termékek.txt
A fenti parancsok futtatása után a következő kimenet jelenik meg.
Következtetés:
Két vagy több sor fájlba illesztésének módja a „sed” parancs mintával használatával ebben az oktatóanyagban bemutatásra került, hogy segítsen az olvasónak alkalmazni ezt a parancsot vonalak ideiglenes vagy végleges beszúrására a minta alapján.