sed

Hogyan lehet több sort kicserélni a „sed” paranccsal

Hogyan lehet több sort kicserélni a „sed” paranccsal
Néha megköveteli, hogy egy fájl több sorát lecserélje egy adott karakterre vagy szövegre. Különböző parancsok léteznek a Linuxban egy fájl több sorának helyettesítésére. A „sed” parancs az egyik ilyen típusú feladat elvégzésére. A „sed” teljes formája a Steam Editor, és főleg a szöveg különféle módokon történő olvasására és konvertálására szolgál reguláris kifejezés használatával. Az oktatóanyag elmagyarázza, hogy ez a parancs hogyan használható fel a fájl több sorának különböző módon történő cseréjére.

Általánosan használt „sed” csalólap:

A 'sed' parancsban használt leggyakrabban használt karaktereket a következő táblázat ismerteti.

karakter Célja
a Tartalom hozzáfűzésére szolgál.
b A tartalom elágazására szolgál.
c A tartalom megváltoztatására szolgál.
d Egy fájl sorának törlésére szolgál.
D A fájl első sorának törlésére szolgál.
g Régebben a tartó szövegből másolt.
G Arra szolgál, hogy a tartó szövegből csatolja.
h A tartószöveg másolására szolgál.
H A tartó szöveghez csatolják.
én Beszúrásra használják.
én A helyettesítő vonal kinyomtatására szolgál.
n A következő sorra való ugráshoz használják.
N A következő beviteli sor hozzáfűzésére szolgál.
o Nyomtatásra használják.
P Az első sor kinyomtatására szolgál.
q Leszokásra használják.
Q Azonnal abbahagyják.
r A fájl olvasására szolgál.
R Arra szolgál, hogy kiolvassa a sort a fájlból.
s Helyettesítésére használják.
t A szubsztitúció tesztelésére szolgál.
T Szubsztitúció tesztelésére használják.
w A fájlba való íráshoz használják.
W Ezzel egy sort írnak a fájlba.
x A minták cseréjére és megtartására szolgál.
y Fordításra használják.
z A vonal megtisztítására szolgál.
'=' A sorszám kinyomtatására szolgál.

Cseréljen több sort a terminál „sed” parancsának használatával:

Az oktatóanyag ezen részében látható, hogy a 'sed' paranccsal miként lehet a terminálról származó fájlból több sort helyettesíteni. Hozzon létre egy nevű fájlt sed.txt a következő tartalommal tesztelje ennek a résznek a parancsait.

sed.txt

A sed teljes formája a „stream editor”.

Ez egy Unix segédprogram, amelyet a szöveg más formátumban történő olvasására és konvertálására használnak.

Lee E fejlesztette ki. McMahon.

Szövegfeldolgozásra használják.

Támogatja a reguláris kifejezéseket.

1. példa: Két egymást követő sor cseréje

A következő „sed” parancs két egymást követő sort helyettesít egy másik sorral. Itt a -z opciót használjuk arra, hogy az egymást követő sorokat nulladatokra cseréljük, mielőtt hozzáadnánk a helyettesítő szöveget. A parancs szerint a 3rd és 4th A fájl sorait a szöveg váltja fel, "Nagyon hasznos eszköz".

$ macska sed.txt
$ sed -z 's / Ezt Lee E fejlesztette ki. McMahon.\ nSzövegként használják
feldolgozás./ Nagyon hasznos eszköz./ 'sed.txt

A parancsok futtatása után a következő kimenet jelenik meg.

2. példa: Több sor cseréje egyezés és globális jelzés alapján

A következő „sed” parancs felváltja az összes sort, amely a szóval kezdődik, 'Azt' szóval:Ez a sor lecserélésre kerül ".

$ macska sed.txt
$ sed 's / ^ It.* / Ez a sor helyébe / g 'sed.txt

A parancsok futtatása után a következő kimenet jelenik meg. Három sor tartalmazza a szótAzt"a fájlban. Tehát ezeket a sorokat felváltotta a helyettesítő szöveg.

3. példa: Több sor cseréje az egyezés és a következő sor parancs alapján

A következő „sed” parancs helyettesíti a szót:van"a szó szerint"volt'a következő soros paranccsal,' n '.

$ macska sed.txt
$ sed 'n; / is / s / is / was /' sed.txt

A parancsok futtatása után a következő kimenet jelenik meg. Itt, „van” létezik a 2-bennd és 4th a fájl sorai, és ezeket a sorokat a szó módosítja 'volt'.

Cseréljen több sort a 'sed' parancsfájl létrehozásával:

Az előző példákban a „sed” parancsokat a terminálról hajtották végre. De ez egy szkriptnyelv, és ha a parancsfájl több utasítást tartalmaz, akkor jobb, ha létrehozunk egy sed fájlt a szkript segítségével. Hozzon létre egy szöveges fájlt diákok.txt a következő tartalommal, amelyben a „sed” szkriptet alkalmazzák.

diákok.txt

ID: 111045
Név: Robert
Osztály: CSE
Tétel: 35
ID: 111876
Név: József
Tanszék: BBA
Tétel: 27
ID: 111346
Név: William
Osztály: CSE
Tétel: 45
ID: 111654
Név: Charles
Osztály: EEE
Tétel: 41
ID: 111346
Név: John
Osztály: CSE
Tétel: 25
ID: 111746
Név: Thomas
Osztály: CSE
Tétel: 15

4. példa: Cserélje le egy fájl több sorát a „sed” szkriptfájl használatával

Hozzon létre egy sed fájlt, amelynek neve: cserélje ki.sed a következő tartalommal a keresési minta alapján a több sor helyettesítésére. Itt a „Egyéni keresőmotor'a szövegfájlban fog keresni, és ha létezik egyezés, akkor ismét a 35-ös és a 15-ös számra keres. Ha a fájlban található a második egyezés, akkor azt a 45-ös szám váltja fel.

cserélje ki.sed

/ CSE /
p; n;
/ 35 /
s / 35/45 /;
p; d;

/ 15 /
s / 15/55 /;
p; d;


p;

Futtassa a következő parancsot a fájl meglévő tartalmának ellenőrzéséhez. A 'CSE' négyszer jelent meg a szövegfájlban. A 35 és a 15 két helyen létezik.

$ macska diákok.txt

A következő parancs felváltja a több sor tartalmát a sed szkript alapján.

$ sed -n -f cserélje ki.sed diákok.txt

A következő kimenet jelenik meg a parancs futtatása után.

Következtetés

A bemutatón bemutattuk, hogy több sort vagy több sor tartalmát hogyan lehet lecserélni a „sed” paranccsal. Ez az oktatóanyag megmutatja, hogy a „sed” parancsfájl miként hajtható végre egy sed fájlból. Remélem, hogy ez az oktatóanyag segít az olvasónak bármely fájl több sorának kicserélésében a „sed” paranccsal.

A legjobb játékkonzol emulátorok Linuxhoz
Ez a cikk felsorolja a Linux számára elérhető népszerű játékkonzol-emulációs szoftvereket. Az emuláció egy szoftver-kompatibilitási réteg, amely játék...
A legjobb Linux-disztribútorok játékhoz 2021-ben
A Linux operációs rendszer hosszú utat tett meg eredeti, egyszerű, szerver alapú kinézetétől. Ez az operációs rendszer rendkívül javult az elmúlt évek...
Hogyan lehet rögzíteni és streamelni a játékmenetét Linuxon
Korábban a játékokat csak hobbinak tekintették, de az idő múlásával a játékipar hatalmas növekedést ért el a technológia és a játékosok száma szempont...