Bármilyen karakter vagy karakterlánc cserélhető a `sed` paranccsal. Néha vesszővel kell kicserélnünk az új sor karaktert ( n) egy fájlban. Ebben a cikkben a `sed` paranccsal helyettesítjük n vesszővel.
A 'sed' billentyűvel helyettesítse n vesszővel
Sok probléma merülhet fel, ha n vesszővel helyettesíti. Alapértelmezés szerint a fájl létrehozásakor minden sor n végződésű. A `sed` parancs könnyen felosztható n és helyettesítheti az új sort bármilyen karakterrel. Egy másik határoló használható n helyett, de csak akkor, ha GNU sedet használunk. Ha a n hiányzik a fájl utolsó sorából, a GNU sed elkerülheti a nyomtatást. N. Ezenkívül a sed általában hozzáadódik a 'sed' minden egyes kimenetéhez.
Hozzon létre egy fájlt
Ebben a cikkben megmutatjuk, hogyan kell használni a `sed` parancsot a n vesszővel való helyettesítésére. Ennek az oktatóanyagnak a folytatásához hozzon létre egy szöveges fájlt Clients.txt az alábbi táblázatos ügyfélinformációkkal.
Azonosító | 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 ki n -t vesszővel a -z használatával
A -z kapcsolóval n null karakterré ( 0) konvertálható. A fájl tartalmát egyetlen sorként kezeljük, ha nem tartalmaz null karaktereket. A `sed` parancs az új sort null karakterré alakítja, és mindegyiket n vesszővel helyettesíti az első keresési és csereminta használatával. Itt a „g” kifejezés a globális keresésre szolgál n. A második keresési és cserélési mintával az utolsó vesszőt n helyettesíti.
$macskaClients.txt
$sed -Val vel 's/ n/,/g; s/, $/ n/'Clients.txt
A parancsok futtatása után a következő kimenet jön létre.
2. példa: Cserélje ki n vesszőre a, b, $ használatával! és N
A `sed` paranccsal helyettesítheti n vesszővel a használatával a, b, N és $! . Itt, nak nek feladatok hozzáfűzésére szolgál, b a tartalom elágazására szolgál, N a következő sorra lépéshez használható, és $! megakadályozza, hogy a cserefeladat az utolsó sorra kerüljön. A parancs mindegyiket helyettesíti n vesszővel az utolsó sor kivételével.
$macskaClients.txt
$sed ': a; N; $! ba; s/ n/,/g'Clients.txt
A parancsok futtatása után a következő kimenet jön létre.
3. példa: Cserélje ki n vesszőre a H, h, d, x és y billentyűkkel
Ha le akarja cserélni 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, az 1h a fájl minden sorát az első sorban lévő szövegbe másolja, $! d az összes sor törlésére szolgál az utolsó sor kivételével, x a szöveg és a mintaterület cseréjére szolgál, és és mindegyik helyettesítésére szolgál n a szövegben vesszővel.
$macskaClients.txt$sed 'H; 1h; $! D; x; y/ n/,/'Clients.txt
A parancsok futtatása után a következő kimenet jön létre.
4. példa: Cserélje ki n vesszőre a -n, H, h, g és p használatával
A `sed` parancs használható a cserére n vesszővel -n opciót, amely megakadályozza az automatikus nyomtatást. Az előző példához hasonlóan H itt az utolsó sort hozzá kell fűzni a szöveghez, 1h arra szolgál, hogy a fájl minden sorát bemásolja a szövegbe, $ a fájl utolsó sorára utal, g a szövegből történő másolásra szolgál, és o nyomtatásra használják.
$macskaClients.txt$sed-n'H; 1 óra; ${g; s / n/,/g; p} 'Clients.txt
A fenti parancsok futtatása után a következő kimenet jön létre.
5. példa: Cserélje ki n vesszőre a H, x, p használatával
H, x és p a korábbi példákban kifejtették. Az első keresési és cserélési kifejezés mindegyiket felváltja n vesszővel, a második keresési és helyettesítési kifejezés pedig egy sor elején lévő vesszőt szóközzel helyettesíti.
$macskaClients.txt$sed-n'H; $ {x; s/ n/,/g; s/^, //; p;}'Clients.txt
A fenti parancsok futtatása után a következő kimenet jön létre.
6. példa: Cserélje ki n vesszőre az N és a „cat” használatával
A `cat` paranccsal itt küldhetjük el a fájl tartalmát a` sed` parancsra, és N a következő sorra lépéshez használható.
$macskaClients.txt$macskaClients.txt| sed 'N; s/ n/,/'
A fenti parancsok futtatása után a következő kimenet jön létre.
Következtetés
Szükség lehet arra, hogy n vesszővel helyettesítse az adatok egyik fájlformátumból a másikba történő átvitelét. Ez a fajta csere más Linux parancsokkal is elvégezhető. Számos parancslehetőség, például H, N, h és x használható a `sed` paranccsal a feladat végrehajtásához. Ez az oktatóanyag többféle módon is bemutatja a `sed 'parancs használatát a n vesszővel való helyettesítésére.