sed

Kako zamijeniti novi redak zarezom pomoću naredbe 'sed'

Kako zamijeniti novi redak zarezom pomoću naredbe 'sed'

Bilo koji znak ili niz mogu se zamijeniti upotrebom naredbe 'sed'. Ponekad moramo zamijeniti znak novog retka (\ n) u datoteci zarezom. U ovom članku koristimo naredbu 'sed' za zamjenu \ n zarezom.

Upotreba 'sed' za zamjenu \ n zarezom

Mnogo problema može se pojaviti prilikom zamjene \ n zarezom. Prema zadanim postavkama, svaki redak završava s \ n prilikom stvaranja datoteke. Naredba 'sed' može se jednostavno podijeliti na \ n i zamijeniti novi redak bilo kojim znakom. Drugi graničnik može se koristiti umjesto \ n, ali samo kada se koristi GNU sed. Kada u posljednjem retku datoteke nedostaje \ n, GNU sed može izbjeći ispis \ n. Nadalje, \ n se obično dodaje svakom uzastopnom izlazu "sed".

Stvorite datoteku

U ovom ćemo vam članku pokazati kako pomoću naredbe 'sed' zamijeniti \ n zarezom. Da biste nastavili s ovim uputstvom, stvorite tekstualnu datoteku s imenom Klijenti.txt sa sljedećim tabličnim podacima o klijentu.

iskaznica Ime E-mail Telefon
c01 Doktor medicine. Rakib [e-pošta zaštićena] 01856233238
c02 Meher Afroze [e-pošta zaštićena] 01733536342
c03 Fakrul Ahsan [e-pošta zaštićena] 01934737248
c04 Helal Uddin [e-pošta zaštićena] 01534895898
c05 Nusrat Jahan [e-pošta zaštićena] 01866345254

Primjer 1: Zamijenite \ n zarezom pomoću -z

Opcija -z koristi se za pretvaranje \ n u null znak (\ 0). Sadržaj datoteke tretira se kao jedan redak ako ne sadrži null znakove. Naredba 'sed' pretvorit će novi redak u null znak i zamijeniti svaki \ n zarezom pomoću prvog uzorka pretraživanja i zamjene. Ovdje se 'g' koristi za globalno traženje \ n. S drugim uzorkom pretraživanja i zamjene, zadnja zarez zamijenit će se s \ n.

$ mačka Klijenti.txt
$ sed -z 's / \ n /, / g; s /, $ / \ n /' Klijenti.txt

Sljedeći će se izlaz dobiti nakon izvršavanja naredbi.

Primjer 2: Zamijenite \ n zarezom pomoću a, b, $! i N

Naredba 'sed' može se koristiti za zamjenu \ n zarezom pomoću a, b, N i $!. Ovdje, a koristi se za dodavanje zadataka, b koristi se za grananje sadržaja, N koristi se za prelazak na sljedeći redak i $! koristi se za sprječavanje primjene zadatka zadnjeg retka. Naredba će zamijeniti svaku \ n sa zarezom osim zadnjeg retka.

$ mačka Klijenti.txt
$ sed ': a; N; $!ba; s / \ n /, / g 'Klijenti.txt

Sljedeći će se izlaz dobiti nakon izvršavanja naredbi.

Primjer 3: Zamijenite \ n zarezom pomoću H, h, d, x i y

Ako želite zamijeniti \ n) sa zarezom u maloj datoteci, tada se može koristiti sljedeća naredba 'sed'. Ovdje, H koristi se za dodavanje zadnjeg retka u tekst zadržavanja, 1h se koristi za kopiranje svakog retka datoteke u tekst zadržavanja iz prvog retka, $!d koristi se za brisanje svih redaka osim zadnjeg retka, x koristi se za razmjenu teksta i prostora uzorka u prostoru za držanje i g koristi se za zamjenu svake \ n u tekstu držanja zarezom.

$ mačka Klijenti.txt
$ sed 'H; 1h; $!d; x; y / \ n /, / 'Klijenti.txt

Sljedeći će se izlaz dobiti nakon izvršavanja naredbi.

Primjer 4: Zamijenite \ n zarezom pomoću -n, H, h, g i p

Naredba 'sed' može se koristiti za zamjenu \ n sa zarezom sa -n opcija koja sprječava automatski ispis. Kao u prethodnom primjeru, H ovdje se koristi za dodavanje zadnjeg retka u tekst zadržavanja, 1h koristi se za kopiranje svakog retka datoteke u tekst na kojem se nalazi, $ odnosi se na zadnji redak datoteke, g koristi se za kopiranje iz teksta fonda i str koristi se za ispis.

$ mačka Klijenti.txt
$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" Klijenti.txt

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi.

Primjer 5: Zamijenite \ n zarezom pomoću H, x, str

H, x i str su objašnjeni u prethodnim primjerima. Prvi izraz pretraživanja i zamjene zamijenit će svaki \ n zarezom, a drugi izraz pretraživanja i zamjene zamijenit će zarez na početku retka razmakom.

$ mačka Klijenti.txt
$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' Klijenti.txt

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi.

Primjer 6: Zamijenite \ n zarezom koristeći N i 'cat'

Naredba 'mačka' ovdje se koristi za slanje sadržaja datoteke naredbi 'sed' i N koristi se za prelazak na sljedeći redak.

$ mačka Klijenti.txt
$ mačka Klijenti.txt | sed 'N; s / \ n /, /'

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi.

Zaključak

Možda će biti potrebno zamijeniti \ n zarezom za prijenos podataka iz jednog formata datoteke u drugi. Ova vrsta zamjene može se izvršiti i upotrebom drugih Linux naredbi. Mnoge naredbene opcije, poput H, N, h i x, mogu se upotrijebiti s naredbom 'sed' za dovršavanje ovog zadatka. Ovaj vodič prelazi na nekoliko načina korištenja naredbe 'sed' za zamjenu \ n zarezom.

Kako koristiti Xdotool za poticanje klikova i pritiska miša u Linuxu
Xdotool je besplatni alat za naredbene retke otvorenog koda za simulaciju klikova mišem i pritiska tipki. Ovaj će članak pokrivati ​​kratki vodič o ko...
Top 5 ergonomskih proizvoda za računalni miš za Linux
Uzrokuje li dugotrajno korištenje računala bolove u zapešću ili prstima? Patite li od ukočenih zglobova i stalno se morate rukovati? Osjećate li goruć...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...