sed

Kaip pakeisti „Newline“ kableliais naudojant komandą „sed“

Kaip pakeisti „Newline“ kableliais naudojant komandą „sed“

Bet kurį simbolį ar eilutę galima pakeisti naudojant komandą „sed“. Kartais faile naują eilutės simbolį (\ n) turime pakeisti kableliu. Šiame straipsnyje mes naudojame komandą „sed“, kad pakeistume \ n kableliu.

Naudojant žodį „sed“, pakeiskite \ n kableliu

Pakeitus \ n kableliu, gali kilti daug problemų. Pagal numatytuosius nustatymus kiekviena eilutė baigiasi \ n kuriant failą. „Sed“ komanda gali lengvai suskaidyti \ n ir pakeisti naują eilutę bet kuriuo simboliu. Kitas atribiklis gali būti naudojamas vietoj \ n, bet tik tada, kai naudojamas GNU sed. Kai paskutinėje failo eilutėje trūksta \ n, GNU sed gali išvengti spausdinimo \ n. Be to, \ n paprastai pridedama prie kiekvienos iš eilės „sed“ produkcijos.

Sukurkite failą

Šiame straipsnyje parodysime, kaip naudoti komandą „sed“, kad pakeistumėte \ n kableliu. Norėdami sekti šią mokymo programą, sukurkite tekstinį failą pavadinimu Klientai.txt su lentelės lentelės kliento informacija.

ID vardas El Telefonas
c01 Md. Rakibas [apsaugotas el. paštu] 01856233238
c02 Meheris Afroze [apsaugotas el. paštu] 01733536342
c03 Fakrulas Ahsanas [apsaugotas el. paštu] 01934737248
c04 Helal Uddin [apsaugotas el. paštu] 01534895898
c05 Nusratas Jahanas [apsaugotas el. paštu] 01866345254

1 pavyzdys: pakeiskite \ n kableliu naudodami -z

Parinktis -z naudojama norint konvertuoti \ n į nulinį simbolį (\ 0). Failo turinys laikomas viena eilute, jei jame nėra jokių simbolių. „Sed“ komanda konvertuos naują eilutę į „null“ simbolį ir pakeis kiekvieną \ n kableliu naudodama pirmąją paieškos ir pakeitimo šabloną. Čia „g“ naudojama visuotinai ieškoti \ n. Antrą kartą ieškant ir pakeičiant šabloną, paskutinis kablelis bus pakeistas į \ n.

$ katės klientai.txt
$ sed -z 's / \ n /, / g; s /, $ / \ n /' klientai.txt

Ši išvestis bus sukurta paleidus komandas.

2 pavyzdys: pakeiskite \ n kableliu naudodami a, b, $! ir N

Komandą „sed“ galima naudoti pakeičiant \ n kableliu naudojant a, b, N ir $!. Čia, a naudojamas užduotims pridėti, b naudojamas šakoti turinį, N yra naudojamas pereiti prie kitos eilutės ir $! yra naudojama siekiant užkirsti kelią pakeitimo užduoties pritaikymui paskutinėje eilutėje. Komanda pakeis kiekvieną \ n kableliu, išskyrus paskutinę eilutę.

$ katės klientai.txt
$ sed ': a; N; $!ba; s / \ n /, / g 'klientai.txt

Ši išvestis bus sukurta paleidus komandas.

3 pavyzdys: pakeiskite \ n kableliu naudodami H, h, d, x ir y

Jei norite pakeisti \ n) su kableliu mažame faile, tada galima naudoti šią komandą „sed“. Čia, H naudojamas pridėti paskutinę eilutę prie laikymo teksto, 1h naudojamas nukopijuoti kiekvieną failo eilutę į laikantįjį tekstą iš pirmos eilutės, $!d naudojamas ištrinti visas eilutes, išskyrus paskutinę, x naudojamas keistis laikančio teksto ir rašto erdvei ir y yra naudojamas pakeisti kiekvieną \ n laikančiame tekste su kableliu.

$ katės klientai.txt
$ sed 'H; 1h; $!d; x; y / \ n /, / 'Klientai.txt

Ši išvestis bus sukurta paleidus komandas.

4 pavyzdys: pakeiskite \ n kableliu naudodami -n, H, h, g ir p

Komandą „sed“ galima naudoti norint pakeisti \ n su kableliu su -n parinktis, kuri neleidžia spausdinti automatiškai. Kaip ir ankstesniame pavyzdyje, H čia naudojamas pridėti paskutinę eilutę prie laikymo teksto, 1 val yra naudojamas nukopijuoti visas failo eilutes į laikantį tekstą, $ nurodo paskutinę failo eilutę, g yra naudojamas kopijuoti iš laikomo teksto ir p naudojamas spausdinti.

$ katės klientai.txt
$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" klientai.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas.

5 pavyzdys: pakeiskite \ n kableliu naudodami H, x, p

H, x ir p buvo paaiškinta ankstesniuose pavyzdžiuose. Pirmoji paieškos ir pakeitimo išraiška pakeis kiekvieną \ n kableliu, o antroji paieškos ir pakeitimo išraiška pakeis kablelį eilutės pradžioje tarpu.

$ katės klientai.txt
$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' klientai.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas.

6 pavyzdys: pakeiskite \ n kableliu naudodami N ir „cat“

Komanda „cat“ čia naudojama failo turiniui nusiųsti komandai „sed“ ir N naudojamas pereiti prie kitos eilutės.

$ katės klientai.txt
$ katės klientai.txt | sed 'N; s / \ n /, /'

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas.

Išvada

Jei norite perkelti duomenis iš vieno failo formato į kitą, gali tekti pakeisti \ n kableliu. Tokio tipo pakeitimą taip pat galima atlikti naudojant kitas „Linux“ komandas. Šiai užduočiai atlikti kartu su komanda „sed“ galima naudoti daug komandų parinkčių, pvz., H, N, h ir x. Šioje pamokoje pateikiami keli būdai, kaip naudoti komandą „sed“, kad pakeistumėte \ n kableliu.

Mūšis už Wesnothą 1.13.6 Išleista plėtra
Mūšis už Wesnothą 1.13.6 išleistas praėjusį mėnesį, yra šeštasis 1 versijos kūrimo leidimas.13.„x“ serija ir ji teikia daug patobulinimų, ypač vartoto...
Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...
Įdiekite naujausią „OpenRA“ strategijos žaidimą „Ubuntu Linux“
„OpenRA“ yra „Free / Free Real Time Strategy“ žaidimų variklis, atkuriantis ankstyvuosius „Westwood“ žaidimus, tokius kaip klasikinis „Command & Conqu...