Alla tecken eller strängar kan ersättas med kommandot 'sed'. Ibland måste vi byta ut den nya linjetecknet (\ n) i en fil med ett komma. I den här artikeln använder vi kommandot 'sed' för att ersätta \ n med ett komma.
Använd 'sed' för att ersätta \ n med ett komma
Många problem kan uppstå när du ersätter \ n med ett komma. Som standard slutar varje rad med \ n när du skapar en fil. Kommandot 'sed' kan enkelt delas på \ n och ersätta den nya raden med valfri karaktär. En annan avgränsare kan användas i stället för \ n, men bara när GNU sed används. När \ n saknas i den sista raden i filen kan GNU sed undvika utskrift \ n. Dessutom läggs \ n vanligtvis till varje på varandra följande utgång av "sed".
Skapa en fil
I den här artikeln visar vi dig hur du använder kommandot 'sed' för att ersätta \ n med ett komma. För att följa med denna handledning skapar du en textfil med namnet Kunder.Text med följande tabellklientinformation.
ID | namn | E-post | Telefon |
---|---|---|---|
c01 | Md. Rakib | [e-postskyddad] | 01856233238 |
c02 | Meher Afroze | [e-postskyddad] | 01733536342 |
c03 | Fakrul Ahsan | [e-postskyddad] | 01934737248 |
c04 | Helal Uddin | [e-postskyddad] | 01534895898 |
c05 | Nusrat Jahan | [e-postskyddad] | 01866345254 |
Exempel 1: Ersätt \ n med ett komma med -z
Alternativet -z används för att konvertera \ n till null-tecknet (\ 0). Innehållet i filen behandlas som en enda rad om den inte innehåller några null-tecken. Kommandot "sed" konverterar den nya raden till null-tecknet och ersätter varje \ n med ett kommatecken med det första sök- och ersättningsmönstret. Här används 'g' för att globalt söka efter \ n. Med det andra sök- och ersättningsmönstret kommer det sista kommaet att ersättas med \ n.
$ kattkunder.Text$ sed -z 's / \ n /, / g; s /, $ / \ n /' Klienter.Text
Följande utdata kommer att produceras efter att kommandona har körts.
Exempel 2: Ersätt \ n med ett komma med a, b, $! och n
Kommandot 'sed' kan användas för att ersätta \ n med ett kommatecken med a, b, N och $!. Här, a används för att lägga till uppgifter, b används för att förgrena innehållet, N används för att gå till nästa rad, och $! används för att förhindra att ersättningsuppgiften tillämpas på den sista raden. Kommandot ersätter var och en \ n med ett komma utom den sista raden.
$ kattkunder.Text$ sed ': a; N; $!ba; s / \ n /, / g 'Kunder.Text
Följande utdata kommer att produceras efter att kommandona har körts.
Exempel 3: Ersätt \ n med ett komma med H, h, d, x och y
Om du vill byta ut \ n) med ett komma i en liten fil, kan följande 'sed' kommando användas. Här, H används för att lägga till den sista raden till innehavstexten, 1h används för att kopiera varje rad i filen till innehavstexten från första raden, $!d används för att radera alla rader utom den sista raden, x används för att utbyta innehavstexten och mönsterutrymmet, och y används för att ersätta var och en \ n i innehavstexten med ett komma.
$ kattkunder.Text$ sed 'H; 1h; $!d; x; y / \ n /, / 'Kunder.Text
Följande utdata kommer att produceras efter att kommandona har körts.
Exempel 4: Ersätt \ n med ett komma med -n, H, h, g och p
Kommandot 'sed' kan användas för att ersätta \ n med ett komma med -n som förhindrar automatisk utskrift. Som i föregående exempel, H används här för att lägga till den sista raden i innehavstexten, 1 timme används för att kopiera varje rad i filen till innehavstexten, $ refererar till den sista raden i filen, g används för att kopiera från innehavstexten, och sid används för att skriva ut.
$ kattkunder.Text$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" Kunder.Text
Följande utdata produceras efter att ovanstående kommandon har körts.
Exempel 5: Ersätt \ n med ett komma med H, x, p
H, x och p har förklarats i tidigare exempel. Det första sök- och ersättningsuttrycket ersätter varje \ n med ett komma, och det andra sök- och ersättningsuttrycket ersätter ett kommatecken i början av en rad med ett mellanslag.
$ kattkunder.Text$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' Klienter.Text
Följande utdata produceras efter att ovanstående kommandon har körts.
Exempel 6: Ersätt \ n med ett komma med N och 'cat'
Kommandot 'cat' används här för att skicka filens innehåll till kommandot 'sed' och N används för att gå till nästa rad.
$ kattkunder.Text$ kattkunder.txt | sed 'N; s / \ n /, /'
Följande utdata produceras efter att ovanstående kommandon har körts.
Slutsats
Det kan vara nödvändigt att ersätta \ n med ett komma för att överföra data från ett filformat till ett annat. Denna typ av ersättning kan också göras med andra Linux-kommandon. Många kommandoalternativ, såsom H, N, h och x, kan användas med kommandot 'sed' för att slutföra denna uppgift. Denna handledning går över flera sätt att använda kommandot 'sed' för att ersätta \ n med ett komma.