sed

Hogyan cseréljük le az új sort vesszővel a „sed” paranccsal

Hogyan cseréljük le az új sort vesszővel a „sed” paranccsal

Bármely karakter vagy karaktersorozat helyettesíthető a „sed” paranccsal. Előfordul, hogy a fájlban az új sor karaktert (\ n) vesszővel kell kicserélnünk. Ebben a cikkben a „sed” paranccsal vesszük fel a \ n vesszővel.

A „sed” használatával vesszővel helyettesítheti a \ n elemet

Sok probléma merülhet fel, ha \ n vesszővel helyettesítjük. Alapértelmezés szerint minden sor \ n végződik egy fájl létrehozásakor. A 'sed' parancs könnyen felosztható \ n és az új sort bármilyen karakterrel helyettesítheti. Egy másik elválasztó használható \ n helyett, de csak akkor, ha GNU sed-t használunk. Ha a \ n hiányzik a fájl utolsó sorából, a GNU sed elkerülheti a nyomtatást \ n. Továbbá \ n általában hozzáadódik a „sed” minden egymást követő kimenetéhez.

Hozzon létre egy fájlt

Ebben a cikkben megmutatjuk, hogyan használhatja a „sed” parancsot a \ n vesszővel való helyettesítésére. Az oktatóanyag folytatásához hozzon létre egy nevű szövegfájlt Ügyfelek.txt a következő táblázatos ügyféladatokkal.

ID Név Email Telefon
c01 Md. Rakib [e-mail védett] 01856233238
c02 Meher Afroze [e-mail védett] 01733536342
c03 Fakrul Ahsan [e-mail védett] 01934737248
c04 Helal Uddin [e-mail védett] 01534895898
c05 Nusrat Jahan [e-mail védett] 01866345254

1. példa: Cserélje le a \ n vesszőt a -z használatával

A -z opcióval \ n átalakítható null karakterré (\ 0). A fájl tartalmát egyetlen sorként kezeljük, ha nem tartalmaz semmilyen karaktert. A 'sed' parancs az új sort null karakterré alakítja, és mindegyiket \ n vesszővel helyettesíti az első keresési és cserélési minta használatával. Itt a „g” kifejezés a \ n globális keresésére szolgál. A második keresési és cserélési mintával az utolsó vessző helyére \ n lép.

$ macska ügyfelek.txt
$ sed -z 's / \ n /, / g; s /, $ / \ n /' kliensek.txt

A parancsok futtatása után a következő kimenet jön létre.

2. példa: Cserélje \ n vesszővel az a, b, $ karakterekkel! és N

A 'sed' paranccsal \ n vesszővel helyettesíthető a használatával a, b, N és $!. Itt, a a feladatok hozzáfűzésére szolgál, b a tartalom elágazására szolgál, N a következő sorra való ugrásra szolgál, és $! arra szolgál, hogy megakadályozzák a cserefeladat alkalmazását az utolsó sorban. A parancs mindegyiket helyettesíti \ n vesszővel, kivéve az utolsó sort.

$ macska ügyfelek.txt
$ sed ': a; N; $!ba; s / \ n /, / g 'Ügyfelek.txt

A parancsok futtatása után a következő kimenet jön létre.

3. példa: Cserélje \ n vesszővel H, h, d, x és y használatával

Ha cserélni akarja \ n) vesszővel egy kis fájlban, akkor a következő „sed” parancs használható. Itt, H az utolsó sor hozzáfűzésére szolgál a tartó szöveghez, 1h a fájl minden sorának másolásához a tartó szövegbe az első sorból, $!d az utolsó sor kivételével az összes sor törlésére szolgál, x a tartó szöveg és a minta tér cseréjére szolgál, és y mindegyik helyettesítésére szolgál \ n a tartó szövegben vesszővel.

$ macska ügyfelek.txt
$ sed 'H; 1h; $!d; x; y / \ n /, / 'Ügyfelek.txt

A parancsok futtatása után a következő kimenet jön létre.

4. példa: Cserélje a \ n vesszőt vesszővel az -n, H, h, g és p használatával

A 'sed' parancs használható a cserére \ n vesszővel -n opció, amely megakadályozza az automatikus nyomtatást. Mint az előző példában, H itt használható az utolsó sor hozzáadásához a tartó szöveghez, 1h a fájl minden sorának a tartó szövegbe másolására szolgál, $ a fájl utolsó sorára utal, g a másolásra szolgál a tartó szövegből, és o nyomtatásra használják.

$ macska ügyfelek.txt
$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" ügyfelek.txt

A fenti kimenet a fenti parancsok futtatása után jön létre.

5. példa: Cserélje \ n vesszővel H, x, p gombbal

H, x és p korábbi példákban kifejtették. Az első keresési és helyettesítési kifejezés mindegyiket helyettesíti \ n vesszővel, a második keresés és helyettesítés kifejezés pedig a sor elején lévő vesszőt helyettesíti.

$ macska ügyfelek.txt
$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' ügyfelek.txt

A fenti kimenet a fenti parancsok futtatása után jön létre.

6. példa: Cserélje \ n vesszővel az N és a „cat” karakterekkel

A 'cat' paranccsal itt lehet elküldeni a fájl tartalmát a 'sed' parancsba, és N a következő sorra lépéshez használható.

$ macska ügyfelek.txt
$ macska ügyfelek.txt | sed 'N; s / \ n /, /'

A fenti kimenet a fenti parancsok futtatása után jön létre.

Következtetés

Előfordulhat, hogy az \ n vesszővel kell helyettesíteni az adatok egyik fájlformátumból a másikba történő átviteléhez. Ez a fajta csere más Linux parancsok használatával is elvégezhető. Számos parancsopció, például H, N, h és x használható a „sed” paranccsal a feladat végrehajtásához. Ez az oktatóanyag számos módszert ismertet a „sed” parancs használatával a \ n vesszővel való helyettesítésére.

Kereskedelmi játékmotorok nyílt forráskódú portjai
Ingyenes, nyílt forráskódú és platformokon átívelő játékmotorok szabadidős programjai felhasználhatók a régi, valamint a meglehetősen friss játékcímek...
A legjobb parancssori játékok Linuxhoz
A parancssor nem csak a legnagyobb szövetséges a Linux használatakor, hanem a szórakozás forrása is lehet, mert sok olyan szórakoztató játék lejátszás...
A legjobb Gamepad Mapping alkalmazások Linuxhoz
Ha egy tipikus billentyűzet és egér beviteli rendszer helyett szeretnél játékokat játszani Linuxon egy játékvezérlővel, van néhány hasznos alkalmazás ...