Opomba: Linux Mint 20 bomo uporabili za prikaz uporabe ukaza sed za zamenjavo niza v datoteki. Če želite, lahko uporabite tudi kateri koli drug okus Linuxa.
Uporaba sed Command:
Zdaj vam bomo pokazali nekaj zelo zanimivih primerov za prikaz uporabe ukaza sed v Linuxu. Poglejmo, kako ta ukaz deluje v različnih scenarijih.
Ustvarjanje besedilne datoteke za predstavitev:
Za prikaz uporabe ukaza sed bi radi delali z besedilno datoteko. Lahko pa celo ustvarite datoteko Bash ali katero koli drugo datoteko po svoji izbiri. Drugič, datoteko bomo ustvarili v domačem imeniku, tako da nam med dostopom do te datoteke ne bo treba določiti zapletenih poti. Za ustvarjanje besedilne datoteke je treba izvesti naslednje korake:
Kliknite ikono upravitelja datotek v opravilni vrstici Linux Mint 20:
Zdaj ustvarite novo besedilno datoteko v imeniku Domov tako, da z desno miškino tipko kliknete kjer koli tam in nato izberete možnost Nov dokument v kaskadnem meniju in možnost Prazen dokument v podkaskadnem meniju. Ko je besedilna datoteka ustvarjena, ji dajte ustrezno ime. Za ta primer sem ga poimenoval sed.txt.
Dvokliknite to datoteko, da jo odprete, in v nje vnesite poljubno besedilo, kot je prikazano na spodnji sliki. Shranite to besedilno datoteko s pritiskom na Ctrl + S in jo zaprite.
Zdaj zaženite terminal v Linux Mint 20, kot je prikazano na naslednji sliki:
Po zagonu terminala v Linux Mint 20 lahko po vrsti preberete vse spodaj omenjene primere.
Uporaba ukaza sed za zamenjavo vseh pojavov dane besede:
Ukaz sed lahko uporabite za nadomestitev vseh pojavitev dane besede v besedilni datoteki. Sintaksa doseganja tega cilja je navedena spodaj:
$ sed 's / sed / FindWord / ReplaceWord /' datoteka.txtTu morate FindWord nadomestiti z besedo, ki jo želite zamenjati, in RewordWord z besedo, ki jo želite zamenjati. Poleg tega morate datoteko nadomestiti z imenom datoteke, v kateri želite te nadomestitve nadomestiti. V tem primeru sem FindWord zamenjal s sed, ReplaceWord pa z nadomestitvijo. Ime naše datoteke je bilo sed.txt. Prikazana je tudi na naslednji sliki:
Uspešna izvedba tega ukaza vam bo pokazala spremembe, ki so nastale zaradi izvajanja tega ukaza na vašem terminalu:
Uporaba ukaza sed za zamenjavo n-tega pojavljanja dane besede v vsaki vrstici:
Zgornji scenarij je bil najpreprostejši nadomestni scenarij, vendar včasih ne želite nadomestiti vseh pojavitev besede, temveč želite nadomestiti le prvi, drugi ali n-ti pojav te besede v vseh vrsticah. Za to lahko izvedete naslednji ukaz:
$ sed 's / FindWord / ReplaceWord / num' datoteka.txtTu morate FindWord nadomestiti z besedo, ki jo želite zamenjati, in RewordWord z besedo, ki jo želite zamenjati. Poleg tega morate tudi datoteko nadomestiti z imenom datoteke, v kateri želite te nadomestitve. V tem primeru sem zamenjal FindWord replace in ReplaceWord s sed. Ime naše datoteke je bilo sed.txt. Število se nanaša tudi na pojav ali položaj besede, ki jo je treba zamenjati. V prikazanem primeru želim v vsaki vrstici nadomestiti prvi pojav replace s sed, kot je prikazano na spodnji sliki:
Uspešna izvedba tega ukaza vam bo pokazala spremembe, ki so nastale zaradi izvajanja tega ukaza na vašem terminalu:
Uporaba ukaza sed za zamenjavo dane besede v določeni vrstici:
Včasih želite dano besedo zamenjati samo v določeni vrstici in ne v celotnem dokumentu. Za to morate izrecno določiti to številko vrstice v naslednjem ukazu:
$ sed 'LineNum s / FindWord / ReplaceWord /' datoteka.txtTu morate FindWord nadomestiti z besedo, ki jo želite zamenjati, in RewordWord z besedo, ki jo želite zamenjati. Poleg tega morate datoteko nadomestiti z imenom datoteke, v kateri želite te nadomestitve nadomestiti. V tem primeru sem FindWord sed in ReplaceWord zamenjal z zamenjavo. Ime naše datoteke je bilo sed.txt. Prav tako morate LineNum nadomestiti s številko vrstice določene vrstice, v kateri želite zamenjati. V tem primeru smo želeli nadomestiti sed z nadomestiti v vrstici številka 2 naše datoteke, kot je prikazano na naslednji sliki:
Uspešna izvedba tega ukaza vam bo pokazala spremembe, ki so nastale zaradi izvajanja tega ukaza na vašem terminalu. Z lahkoto lahko preverite, ali so se omenjene spremembe zgodile le v vrstici številka 2 naše datoteke in ne v celotnem besedilu.
Zaključek:
Kadar koli začutite potrebo po zamenjavi katere koli besede v datoteki, morate najprej določiti svojo posebno zahtevo.e. ali želite zamenjati to določeno besedo v celotni datoteki ali želite nadomestiti določen pojav te besede ali pa to besedo v določeni vrstici. Ko določite svoj poseben scenarij, lahko uporabite to posebno metodo iz primerov, obravnavanih v tem članku.