Bet kurį simbolį ar eilutę galima pakeisti naudojant komandą „sed“. Kartais failo naują eilutės simbolį ( n) turime pakeisti kableliu. Šiame straipsnyje mes naudojame komandą „sed“, kad pakeistume n kableliu.
Naudokite „sed“, kad pakeistumėte n kableliu
Pakeitus n kableliu, gali kilti daug problemų. Pagal numatytuosius nustatymus kuriant failą kiekviena eilutė baigiasi n. Komanda „sed“ gali būti lengvai padalinta į n ir pakeisti naują eilutę bet kokiu simboliu. Vietoj n galima naudoti kitą ribotuvą, 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 pridedamas prie kiekvienos iš eilės išvesties „sed“.
Sukurkite failą
Šiame straipsnyje parodysime, kaip naudoti komandą „sed“, kad pakeistumėte n kableliu. Norėdami tęsti šią pamoką, sukurkite teksto failą pavadinimu Klientai.txt su tokia lentelės informacija apie klientą.
ID | vardas | Paštu | Telefonas |
---|---|---|---|
c01 | Md. Rakibas | [apsaugotas el. paštas] | 01856233238 |
c02 | Meher Afroze | [apsaugotas el. paštas] | 01733536342 |
c03 | Fakrul Ahsan | [apsaugotas el. paštas] | 01934737248 |
c04 | Helal Uddin | [apsaugotas el. paštas] | 01534895898 |
c05 | Nusrat Jahan | [apsaugotas el. paštas] | 01866345254 |
1 pavyzdys: pakeiskite n kableliu naudodami -z
Parinktis -z naudojama n konvertuoti į nulinį simbolį ( 0). Failo turinys laikomas viena eilute, jei jame nėra tuščių simbolių. Komanda „sed“ konvertuos naują eilutę į nulinį simbolį ir pakeis kiekvieną n kableliu, naudodami pirmąjį paieškos ir pakeitimo modelį. Čia „g“ naudojama visame pasaulyje ieškant n. Naudojant antrąjį paieškos ir pakeitimo modelį, paskutinis kablelis bus pakeistas n.
$katėKlientai.txt
$sed -Su 's/ n/,/g; s/, $/ n/'Klientai.txt
Paleidus komandas bus sukurta ši išvestis.
2 pavyzdys: pakeiskite n kableliu naudodami a, b, $! ir N.
Komanda „sed“ gali būti naudojama pakeisti n kableliu naudojant a, b, N ir $! . Čia, į naudojamas užduotims pridėti, b naudojamas turinio padalijimui, N naudojamas pereiti prie kitos eilutės ir $! naudojamas siekiant užkirsti kelią pakeitimo užduočiai taikyti paskutinę eilutę. Komanda pakeis kiekvieną n su kableliu, išskyrus paskutinę eilutę.
$katėKlientai.txt
$sed ': a; N; $! ba; s/ n/,/g'Klientai.txt
Paleidus komandas bus sukurta ši išvestis.
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 yra naudojama paskutinei eilutei pridėti prie sulaikymo teksto, 1 h naudojama nukopijuoti kiekvieną failo eilutę į laikymo tekstą iš pirmosios eilutės, $! d naudojamas ištrinti visas eilutes, išskyrus paskutinę, x yra naudojamas apsikeitimo tekstui ir rašto erdvei, ir ir naudojamas kiekvienam pakeisti n laikymo tekste su kableliu.
$katėKlientai.txt$sed 'H; 1h; $! D; x; y/ n/,/'Klientai.txt
Paleidus komandas bus sukurta ši išvestis.
4 pavyzdys: pakeiskite n kableliu, naudodami -n, H, h, g ir p
Komanda „sed“ gali būti naudojama pakeisti n su kableliu su -n parinktis, kuri neleidžia automatiškai spausdinti. Kaip ir ankstesniame pavyzdyje, H čia naudojama paskutinei eilutei pridėti prie laikymo teksto, 1 val naudojamas nukopijuoti kiekvieną failo eilutę į laikymo tekstą, $ nurodo paskutinę failo eilutę, g naudojamas kopijuoti iš laikymo teksto ir p naudojamas spausdinti.
$katėKlientai.txt$sed-n'H; 1 val .; ${g; s / n/,/g; p} 'Klientai.txt
Toliau išvestis bus sukurta paleidus aukščiau pateiktas 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 su kableliu, o antroji paieškos ir pakeitimo išraiška pakeis kablelį eilutės pradžioje su tarpu.
$katėKlientai.txt$sed-n'H; $ {x; s/ n/,/g; s/^, //; p;}'Klientai.txt
Toliau išvestis bus sukurta paleidus aukščiau pateiktas komandas.
6 pavyzdys: pakeiskite n kableliu, naudodami N ir „cat“
Komanda „cat“ čia naudojama failo turiniui siųsti į komandą „sed“ ir N naudojamas pereiti į kitą eilutę.
$katėKlientai.txt$katėKlientai.txt| sed „N; s/ n/,/“
Toliau išvestis bus sukurta paleidus aukščiau pateiktas komandas.
Išvada
Jei norite perkelti duomenis iš vieno failo formato į kitą, gali reikėti pakeisti n kableliu. Tokį pakeitimą taip pat galima atlikti naudojant kitas „Linux“ komandas. Šiai užduočiai atlikti gali būti naudojama 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.