Á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: 111045Né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.txtA 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.