Hogyan lehet az újvonalat vesszővel helyettesíteni a `sed` paranccsal

How Replace Newline With Comma Using Sed Command



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