sed

Hogyan cseréljünk le mindent a minta után a „sed” paranccsal

Hogyan cseréljünk le mindent a minta után a „sed” paranccsal

A cserefeladatok különböző módszerekkel hajthatók végre Linux alatt. A „sed” parancs a cserefeladat egyik módja. Ezzel a paranccsal helyettesítheti a szövegben egy karakterláncot vagy fájlt egy másik minta használatával. Az oktatóanyag bemutatja, hogyan cserélhet le mindent a megfelelő minta után a „sed” paranccsal.

Cseréljen le mindent a meccs után egy karakterláncban:

A karaktersorozat ebben a szakaszában bemutattuk, hogy egy karakterlánc része hogyan cserélhető ki egyező minta és $ PARTITION_COLUMN alapján. De ez a változó akkor működik, ha a minta megegyezik a karakterlánc elején vagy közepén található bármely szóval. Nem helyettesíti a szöveget, ha a minta egyezik a karakterlánc utolsó szavával.

1. példa: Cserélje ki az összeset a meccs után a $ PARTITION_COLUMN paranccsal

A következő parancs az „a” karakterben keres, és az „a” után fennmaradó részt felváltja a „népszerű blogoldal” szöveg. $ PARTITION_COLUMN.* a karakter után fennmaradó rész, az "a" meghatározására szolgál.

$ echo "A LinuxHint egy weboldal" | sed "s / a $ PARTITION_COLUMN.* / egy népszerű blogoldal / "

A következő kimenet jelenik meg a parancs futtatása után. Itt a „weboldal” helyébe a „népszerű blogoldal” lépett.


A következő minta a 'szóra keresweb"A karakterláncban, és a fennmaradó részt cserélje le a"web"A szöveg szerint"népszerű blogoldal"ha a mérkőzés létezik, és"web'Nem része a karakterlánc utolsó szavának.

$ echo "A LinuxHint egy weboldal" | sed "s / web.* $ PARTITION_COLUMN.* / egy népszerű blogoldal / "

A következő kimenet jelenik meg a parancs futtatása után. Itt a "weboldal" a karakterlánc utolsó szava, és ezért nem történt cseréje.

2. példa: Cserélje ki az összeset egyezés után a mintával

A következő parancs a 'szóra keresbash'globálisan a karakterláncban, és cseréljen le mindent a szóra, ha a szó létezik a karakterláncban. "g'A globális kereséshez használatos.

$ echo "Szeretem a bash programozást" | sed "s / bash.* / python szkript / g "

A következő kimenet jelenik meg a parancs futtatása után. Itt a 'bash' a karakterlánc közepén található, és a csere megtörtént.

Cseréljen le mindent a meccs után egy fájlban:

Egy adott sor teljes tartalma, vagy egy fájl több sora, vagy a meccs után fennmaradó sora a 'sed'parancsot. Hozzon létre egy szöveges fájlt részvétel.txt a következő tartalommal az ebben a részben bemutatott példák tesztelésére.

részvétel.txt

1108885 van jelen
1999979 van jelen
1769994 hiányzik
1105656 hiányzik
1455999 hiányzik

-3. Példa: Cserélje le az összes tartalmat egy fájl sorából a mérkőzés után

A következő „sed” parancs a fájlban lévő 1769994 számot keresi, és minden számmal ellátott szövegrész helyébe a következő szöveg lép: „1586844 van jelen”, ha a szám a fájl bármelyik sorában létezik.

$ macska allendencia.txt
$ sed "s / 1769994.* / 1586844 jelen van / "részvétel.txt

A következő kimenet jelenik meg a parancsok futtatásával. Itt a keresési szám a fájl harmadik sorában található, és a csere megtörtént.

-4. Példa: Cserélje ki az összes tartalmat a fájl több sorából a meccs után

A következő 'sed' parancs bemutatja a $ PARTITION_COLUMN változó használatát a fájl több sorának helyettesítésére. A parancs a fájl minden sorának elején a „110” kifejezésre keres, és mindent a „110” kifejezésre cserél az „Érvénytelen bejegyzés” szöveggel, ahol a megfelelő szöveg megtalálható.

$ macska látogatottság.txt
$ sed "s / ^ 110.* $ PARTITION_COLUMN.* / Érvénytelen nevezés / "részvétel.txt

A parancsok futtatása után a következő kimenet jelenik meg. A '110' a fájl két sorában létezik, ezeket helyettesíti a helyettesítő szöveg.

5. példa: Cserélje le az összes tartalmat egy fájl sorából a „c” betűvel az egyezés után

A következő 'sed'a parancs a' használatát mutatjac'hogy a meccs után mindent lecseréljen. Itt, 'c'jelzi a változást. A parancs megkeresi a következő szót:ajándék'a fájlban, és cserélje le a sor mindent a szövegre,'Ez a sor lecserélésre kerül', ha a szó a fájl bármelyik sorában megtalálható.

$ macska látogatottság.txt
$ sed '/ jelen / c Ez a sor helyettesíti a' jelenlét.txt

A parancsok futtatása után a következő kimenet jelenik meg. A fájl első két sorában szerepel a „jelen” szó, és ezt a két sort felváltotta a helyettesítő szöveg.

6. példa: Cserélje ki az összes tartalmat egy fájl sorából a kezdő és a befejező minta alapján

Néha meg kell követelni a szöveget a kezdő és a befejező minta alapján. A következő „sed” parancs megmutatja a kezdő és befejező minták meghatározásának módját a fájl sorainak helyettesítésére. A parancs megkeresi azokat a sorokat a fájlban, amelyek 110-es számmal kezdődnek és a „hiányzik” szóval végződnek, és mindent kicserél a „helyettesített” szóra, ahol a minták megegyeznek.

$ macska látogatottság.txt
$ sed -e 's / ^ 110.* hiányzik a $ / helyettesített / g 'részvétel.txt

A parancsok futtatása után a következő kimenet jelenik meg. Itt az első és a negyedik sor a 110-es számmal kezdődik, de a „hiányzó” szó csak a negyedik sorban létezik. Tehát a fájl negyedik sorát felváltotta a helyettesítő szöveg.

Következtetés:

A „sed” parancs a Linux nagyon hatékony eszköze a szövegfeldolgozással kapcsolatos különböző típusú feladatok végrehajtására. Az illesztési mintán alapuló helyettesítési feladatot ez az oktatóanyag a „sed” parancs különféle mintáinak használatával tárgyalja. $ PARTITION_COLUMN, 'c' és '.A * 'ebben az oktatóanyagban a fájl minden sorának helyettesítésére szolgál, ahol az egyező minta létezik. Meghatározott minták néhány karakterének, például a '^' és a '$' használatát mutatta be itt. Sok más karakter létezik a mintának a reguláris kifejezésben történő meghatározásához keresési célokra. Remélem, hogy ez a bemutató segít az olvasónak abban, hogy megismerje az alapokat, amikor a meccs után mindent kicserél egy fájlból.

Hogyan lehet megváltoztatni a bal és jobb egérgombokat a Windows 10 PC-n
Elég általános, hogy az összes számítógépes egéreszközt ergonómikusan a jobbkezes felhasználók számára tervezték. De vannak olyan egéreszközök, amelye...
Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...
Ezekkel az ingyenes eszközökkel adja hozzá az egérmozdulatokat a Windows 10 rendszerhez
Az elmúlt években a számítógépek és az operációs rendszerek nagymértékben fejlődtek. Volt idő, amikor a felhasználóknak parancsokkal kellett navigálni...