sed

sed Komanda pakeisti eilutę faile

sed Komanda pakeisti eilutę faile
Kai dirbame su bet kokiais failais, labai įprasta taisyti tuos failus ieškant ir pakeičiant žodžius. Daugelis teksto redaktorių pateikia skirtingus GUI pagrįstus metodus šiems pakeitimams atlikti. Tačiau kartais jums reikia būdų, kaip rasti ir pakeisti žodžius faile per terminalą. Todėl šiame straipsnyje mes paaiškinsime metodą, kaip naudoti komandą „sed“, norint pakeisti eilutę teksto faile. Mes taip pat atkreipsime dėmesį į skirtingus scenarijus, kuriais galima naudoti šią komandą.

Pastaba: Mes naudosime „Linux Mint 20“ demonstruodami komandos sed naudojimą eilutei faile pakeisti. Jei norite, taip pat galite naudoti bet kurį kitą „Linux“ skonį.

„Sed“ komandos naudojimas:

Dabar mes parodysime jums labai įdomių pavyzdžių, kaip pavaizduoti „sed“ komandos naudojimą „Linux“. Pažiūrėkime, kaip ši komanda veikia skirtingais atvejais.

Teksto failo kūrimas demonstravimui:

Norėdami parodyti sed komandos naudojimą, norėtume dirbti su tekstiniu failu. Tačiau jūs netgi galite sukurti „Bash“ failą ar bet kurį kitą pasirinktą failą. Antra, sukursime failą pagrindiniame kataloge, kad mums nereikėtų nurodyti jokių sudėtingų kelių, kai pasiekiame šį failą. Kuriant teksto failą, reikia atlikti šiuos veiksmus:

Spustelėkite failų tvarkyklės piktogramą, esančią jūsų „Linux Mint 20“ užduočių juostoje:

Dabar sukurkite naują teksto failą pagrindiniame kataloge, dešiniuoju pelės klavišu spustelėdami bet kurią vietą, tada kaskados meniu pasirinkite parinktį Naujas dokumentas, o antrinio kaskados meniu - parinktis Tuščias dokumentas. Sukūrę teksto failą, suteikite jam tinkamą pavadinimą. Šiame konkrečiame pavyzdyje aš jį pavadinau sed.txt.

Dukart spustelėkite šį failą, kad jį atidarytumėte, ir įveskite bet kokį atsitiktinį tekstą, kaip parodyta paveikslėlyje žemiau. Išsaugokite šį tekstinį failą paspausdami „Ctrl“ + S ir uždarykite jį.

Dabar paleiskite terminalą „Linux Mint 20“, kaip parodyta šiame paveikslėlyje:

Paleidus terminalą sistemoje „Linux Mint 20“, galite po vieną peržiūrėti visus toliau nurodytus pavyzdžius.

Komandos „sed“ naudojimas norint pakeisti visus tam tikro žodžio atvejus:

Galite naudoti komandą sed, kad pakeistumėte visus nurodyto žodžio atvejus teksto faile. Šio tikslo pasiekimo sintaksė minima toliau:

$ sed 's / sed / FindWord / ReplaceWord /' failas.txt

Čia reikia pakeisti „FindWord“ žodžiu, kurį norite pakeisti, o „ReplaceWord“ - žodžiu, kurį norite pakeisti. Be to, „failą“ taip pat turite pakeisti failo pavadinimu, kuriame norite atlikti šiuos pakeitimus. Pagal šį scenarijų „FindWord“ pakeičiau „sed“, o „ReplaceWord“ - „pakeisti“. Mūsų failo pavadinimas buvo sed.txt. Tai taip pat parodyta šiame paveikslėlyje:

Sėkmingai vykdant šią komandą bus parodyti pakeitimai, įvykę dėl šios komandos paleidimo jūsų terminale:

Komandos sed naudojimas pakeis n-ąjį duoto žodžio atsiradimą kiekvienoje eilutėje:

Ankstesnis scenarijus buvo paprasčiausias pakeitimo scenarijus, tačiau kartais nenorite pakeisti visų žodžio atvejų, o norite pakeisti tik pirmąjį, antrąjį ar n-ąjį to žodžio atvejį visose eilutėse. Norėdami tai padaryti, galite atlikti šią komandą:

$ sed 's / FindWord / ReplaceWord / num' failas.txt

Čia reikia pakeisti „FindWord“ žodžiu, kurį norite pakeisti, o „ReplaceWord“ - žodžiu, kurį norite pakeisti. Be to, „failą“ taip pat turite pakeisti failo pavadinimu, kuriame norite atlikti šiuos pakeitimus. Pagal šį scenarijų aš pakeitiau „FindWord“ pakeisti ir pakeisti žodį „sed“. Mūsų failo pavadinimas buvo sed.txt. Be to, num reiškia žodžio, kurį reikia pakeisti, atsiradimą ar vietą. Pateiktame pavyzdyje noriu pakeisti pirmąjį „sed“ atvejį kiekvienoje eilutėje, kaip parodyta toliau pateiktame paveikslėlyje:

Sėkmingai vykdant šią komandą bus parodyti pakeitimai, įvykę dėl šios komandos paleidimo jūsų terminale:

Komandos sed naudojimas norint pakeisti tam tikrą žodį konkrečioje eilutėje:

Kartais norite pakeisti nurodytą žodį tik konkrečioje eilutėje, o ne visame dokumente. Norėdami tai padaryti, šioje komandoje turite aiškiai nurodyti konkretų eilutės numerį:

$ sed 'LineNum s / FindWord / ReplaceWord /' failas.txt

Čia reikia pakeisti „FindWord“ žodžiu, kurį norite pakeisti, o „ReplaceWord“ - žodžiu, kurį norite pakeisti. Be to, „failą“ taip pat turite pakeisti failo pavadinimu, kuriame norite atlikti šiuos pakeitimus. Pagal šį scenarijų aš pakeitiau „FindWord sed“ ir „ReplaceWord“ į „pakeisti“. Mūsų failo pavadinimas buvo sed.txt. Be to, „LineNum“ turite pakeisti konkrečios eilutės, kurioje norite pakeisti, eilutės numeriu. Šiame pavyzdyje norėjome pakeisti „Sed“ pakeitimu failo 2 eilutėje, kaip parodyta šiame paveikslėlyje:

Sėkmingai vykdant šią komandą bus parodyti pakeitimai, įvykę dėl šios komandos paleidimo jūsų terminale. Galite lengvai patikrinti, ar minėti pakeitimai įvyko tik mūsų failo 2 eilutėje, o ne visame tekste.

Išvada:

Kai manote, kad reikia pakeisti bet kurį žodį faile, pirmas dalykas, kurį turite padaryti, yra nustatyti konkretų reikalavimą,.e. ar norite pakeisti tą konkretų žodį visame faile, ar norite pakeisti konkretų to žodžio atvejį, ar norite pakeisti tą žodį konkrečioje eilutėje. Nustačius konkretų scenarijų, galite naudoti tą konkretų metodą iš šiame straipsnyje aptartų pavyzdžių.

Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...
Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...