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 | 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.