sed

sed Parancs a karakterlánc cseréjére egy fájlban

sed Parancs a karakterlánc cseréjére egy fájlban
Amikor bármiféle fájlokkal dolgozunk, nagyon gyakori gyakorlat, hogy szavakat keresve és kicserélve módosítjuk ezeket a fájlokat. A legtöbb szövegszerkesztő különböző GUI alapú módszereket biztosít ezeknek a módosításoknak a végrehajtásához. Időnként azonban szükséged van egy módra a fájlon belüli szavak megkeresésére és cseréjére a terminálon keresztül. Ezért ebben a cikkben áttekintjük a sed paranccsal a szövegfájlban lévő karakterlánc helyettesítésére szolgáló módszert. Rávilágítunk a különböző forgatókönyvekre is, amelyekben ez a parancs használható.

Megjegyzés: A Linux Mint 20-at fogjuk bemutatni a sed parancs használatáról a fájlban lévő karakterlánc helyettesítésére. Használhatja a Linux bármely más ízét is, ha akarja.

A sed parancs használata:

Most néhány nagyon érdekes példát mutatunk be a sed parancs Linuxban történő használatának bemutatására. Nézzük meg, hogyan működik ez a parancs a különböző forgatókönyvekben.

Szöveges fájl létrehozása bemutatásra:

A sed parancs használatának bemutatásához szöveges fájllal szeretnénk dolgozni. Létrehozhat azonban akár egy Bash fájlt, vagy bármilyen más fájlt, amelyet választott. Másodszor, létrehozzuk a fájlt a Főkönyvtárban, hogy ne kelljen megadnunk összetett útvonalakat a fájl elérése közben. Szöveges fájl létrehozásához a következő lépéseket kell végrehajtani:

Kattintson a Linux Mint 20 tálcán található Fájlkezelő ikonra:

Most hozzon létre egy új szövegfájlt a Főkönyvtárban: kattintson jobb gombbal bárhová, majd válassza az Új dokumentum lehetőséget a lépcsőzetes menüből, és az Üres dokumentum opciót az alkaszkád menüből. A szövegfájl létrehozása után adjon megfelelő nevet. Ehhez a konkrét példához sed-nek neveztem el.txt.

Kattintson duplán a fájlra a megnyitásához, és írja be a véletlenszerű szöveget az alábbi képen látható módon. Mentse el ezt a szöveges fájlt a Ctrl + S megnyomásával, majd zárja be.

Most indítsa el a terminált a Linux Mint 20-ban, a következő képen látható módon:

Miután elindította a terminált a Linux Mint 20-ban, egyenként áttekintheti az alábbiakban említett összes példát.

A sed parancs használata egy adott szó minden előfordulásának helyettesítésére:

A sed paranccsal helyettesítheti az adott szó összes előfordulását egy szövegfájlban. A cél elérésének szintaxisa az alábbiakban szerepel:

$ sed 's / sed / FindWord / ReplaceWord /' fájl.txt

Itt ki kell cserélnie a FindWord szót a cserélni kívánt szóra, és a ReplaceWord szót a kicserélendő szóra. Ezenkívül le kell cserélnie a „fájl” nevet annak a fájlnak a nevével, ahová ezeket a cseréket be akarja hajtani. Ebben a forgatókönyvben a FindWord-ot lecseréltem sed-re, és a ReplaceWord-t lecseréltem. A fájlunk neve sed.txt. A következő képen is látható:

A parancs sikeres végrehajtása megmutatja azokat a változásokat, amelyek a parancs futtatása miatt történtek a terminálon:

A sed paranccsal helyettesítheti az adott szó minden sorban előforduló n-edik előfordulását:

A fenti forgatókönyv volt a legegyszerűbb helyettesítési szcenárió, azonban időnként nem egy szó minden előfordulását akarja lecserélni, hanem csak a szó első, második vagy n-edik előfordulását kívánja cserélni az összes sorban. Ehhez hajtsa végre a következő parancsot:

$ sed 's / FindWord / ReplaceWord / num' fájl.txt

Itt ki kell cserélnie a FindWord szót a cserélni kívánt szóra, és a ReplaceWord szót a cserélendő szóra. Ezenkívül le kell cserélnie a „fájl” nevet annak a fájlnak a nevével, ahová ezeket a cseréket be akarja hajtani. Ebben a forgatókönyvben kicseréltem a FindWord cseréjét és a ReplaceWord szót. A fájlunk neve sed.txt. A num utal a cserélendő szó előfordulására vagy helyzetére is. A bemutatott példában minden egyes sorban a sed helyettesítését szeretném lecserélni, az alábbi képen látható módon:

A parancs sikeres végrehajtása megmutatja azokat a változásokat, amelyek a parancs futtatása miatt történtek a terminálon:

A sed parancs használata egy adott szó helyettesítésére egy adott sorban:

Időnként csak egy adott szót akar helyettesíteni egy adott sorban, és nem az egész dokumentumban. Ehhez kifejezetten meg kell adnia az adott sorszámot a következő parancsban:

$ sed 'LineNum s / FindWord / ReplaceWord /' fájl.txt

Itt ki kell cserélnie a FindWord szót a cserélni kívánt szóra, és a ReplaceWord szót a kicserélendő szóra. Ezenkívül le kell cserélnie a „fájl” nevet annak a fájlnak a nevével, ahová ezeket a cseréket be akarja hajtani. Ebben a forgatókönyvben a FindWord sed-et és a ReplaceWord-t kicseréltem. A fájlunk neve sed.txt. Ezenkívül ki kell cserélnie a LineNum-ot annak a sornak a sorszámával, amelyben a cserét meg akarja hajtani. Ebben a példában a sedet helyettesíteni akartuk a fájlunk 2. sorában, a következő képen látható módon:

A parancs sikeres végrehajtása megmutatja azokat a változásokat, amelyek a parancs futtatása miatt történtek a terminálon. Könnyen ellenőrizheti, hogy az említett változások csak a fájlunk 2. sorában történtek-e, és nem a teljes szövegben.

Következtetés:

Amikor úgy érzi, hogy egy fájl bármely szavát ki kell cserélnie, az első dolog, amit meg kell tennie, az az, hogy meghatározza az adott követelményt i.e. helyettesíteni kívánja-e az adott szót az egész fájlban, vagy az adott szó egy meghatározott előfordulását, vagy pedig egy adott sorban kívánja cserélni ezt a szót. Miután meghatározta az adott forgatókönyvet, használhatja az adott módszert a cikkben tárgyalt példákból.

A League of Legends telepítése az Ubuntu 14-re.04
Ha rajongsz a League of Legendsért, akkor ez egy lehetőség arra, hogy teszteld a League of Legends játékot. Ne feledje, hogy a LOL a PlayOnLinux rends...
Telepítse a legújabb OpenRA stratégiai játékot az Ubuntu Linux rendszerre
Az OpenRA egy ingyenes / ingyenes valós idejű stratégiai játékmotor, amely újjáépíti a korai Westwood játékokat, mint például a klasszikus Command & C...
Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...