sed

Hur man byter ut Newline med komma med kommandot 'sed'

Hur man byter ut Newline med komma med kommandot 'sed'

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.

Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...
Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...
Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...