- 1. Kā izmantot SED komandu Linux
- 2. Teksta izvēle ar komandu SED Linux
- 3. Kā izveidot aizstājējus ar SED Linux
- 4. SED nomaiņas iespējas operētājsistēmā Linux
- 5. Ievietojiet rindas un tekstu ar SED operētājsistēmā Linux
- 6. Kā izdzēst rindu ar SED Linux
- 7. Kā saglabāt izmaiņas, izmantojot SED operētājsistēmā Linux
Linux ir sistēma, kurā ir daudz komandu, un katrai no tām ir būtiska loma noteiktu uzdevumu izpildē, neatkarīgi no tā, vai tie ir lietotāju, objektu vai atbalsta pārvaldība, katrai komandai ir līdzdalība Linux, un viena no šīm komandām ir Sed, par kuru mēs runāsim vietnē Solvetic sīkāk.
Kāda ir sed komanda LinuxKomanda sed burtiski ir plūsmas redaktors, ko mēs varam izmantot, lai pārveidotu teksta darbus ar pamatfunkcijām ievades plūsmā vai nu no faila, vai, ja nepieciešams, no cauruļvada.
Atšķirībā no citiem teksta redaktoriem, izmantojot sed, ir iespējams filtrēt tekstu cauruļvadā, kad mēs ejam pār atlasīto saturu.
PriekšrocībaPriekšrocības, lietojot sed Linux, ir šādas:
- Mēs varam izvēlēties tekstu
- Mēs varam aizstāt tekstu
- Pievienojiet tekstam rindas
- Mēs varam noņemt rindas no teksta
- Ļauj modificēt vai saglabāt oriģinālo failu
Vispārējā sintakse sed lietošanā ir šāda:
sed OPTIONS… [SCRIPT] [INPUT_FILE…]Mēs uzzināsim dažus veidus, kā izmantot šo komandu Linux.
1. Kā izmantot SED komandu Linux
Pamata lietošana sedŠajā piemērā mēs izmantosim "echo", lai redzētu, kā komanda sed var aizstāt daļu no ievadītā teksta, mēs ievadām:
echo solvitic | sed 's / vitic / vetic /'Šajā gadījumā mēs sakām sedam aizstāt vārdu “vitic” ar “vetic”, nospiežot Enter, būs šāds rezultāts:
PALIELINĀT
Mēs redzam, ka izmaiņas notiek automātiski.
2. Teksta izvēle ar komandu SED Linux
1. darbība
Šajā gadījumā mums būs teksta fails, kas tiek mitināts darbvirsmā:
PALIELINĀT
Tagad mēs izmantosim šādu rindu:
mazāk Solvetic.txt2. solis
Nospiežot taustiņu Enter, būs šāds rezultāts:
PALIELINĀT
Izmantojot sed, ir iespējams atlasīt dažas faila rindas, tāpēc mums jānorāda atlasāmā diapazona sākuma un beigu rindas, piemēram, ja mēs vēlamies izvilkt divas līdz septiņas rindas, mēs izpildām:
sed -n '2,7p' Solvetic.txt3. solis
Mēs redzēsim sekojošo:
PALIELINĀT
Mums jāpatur prātā komats piešķirtajos diapazonos (2,7), parametrs p norāda, ka tas nozīmē "drukāt atbilstošas līnijas", ar šo komandu sed izdrukās visas šī diapazona līnijas un -n (kluss ) opcija rūpējas, lai netiktu parādīts teksts, kas neatbilst šim diapazonam.
4. solis
Mēs varam izmantot parametru -e (izteiksme), lai veiktu vairākas izvēles, piemēram:
sed -n -e '1,2p' -e '5,6p' Solvetic.txt
PALIELINĀT
5. solis
Izmantojot sed, ir iespējams izvēlēties sākuma līniju, tad mēs norādām, kas jāpārvieto failā, un, lai izdrukātu alternatīvās rindas, piemēram, mēs ievadām:
sed -n '1 ~ 3p' Solvetic.txtŠajā gadījumā pirmais skaitlis attiecas uz starta līniju, bet otrais numurs norāda, kuras līnijas pēc starta līnijas tiks parādītas:
PALIELINĀT
6. darbība
Vēl viens sed lietojums ir iespēja atlasīt rindas, kurās ir atbilstošie teksta modeļi; ja mēs nezinām, no kurienes nāk rindas numurs, mēs varam izpildīt sekojošo:
sed -n ' / Run / p' Solvetic.txt
PALIELINĀT
Mēs redzēsim rindas, kas sākas ar šo terminu.
3. Kā izveidot aizstājējus ar SED Linux
1. darbība
Pamata daļā mēs redzējām, kā aizstāt tekstu, izmantojot sed, tur mēs izmantojām parametru -s (aizstāšana). Tad pirmā virkne norāda meklēšanas modeli, bet otrā - tekstu, ar kuru tā tiks aizstāta.
sed -n ' / uzdevumi / darbības / p' Solvetic.txtŠajā piemērā mēs "uzdevumus" aizstājam ar "darbībām":
PALIELINĀT
2. solis
Izmantojot parametru p sed, tas automātiski apstājas pēc pirmās spēles, lai veiktu globālu meklēšanu un veiktu izmaiņas kopumā, mums jāpievieno "g":
sed -n 's / uzdevumi / darbības / gp' Solvetic.txtJa vēlamies, lai reģistrā nebūtu reģistrjutības, mēs pievienosim “i”:
sed -n 's / uzdevumi / darbības / gpi' Solvetic.txt3. solis
Ierobežojumus aizstāšanai var izveidot tikai noteiktām faila sadaļām, vispirms mēs uzskaitām analizējamās rindas:
sed -n '1,3p' Solvetic.txt
PALIELINĀT
4. solis
Apskatīsim sekojošo, mēs varam atrast, kur ir divas atstarpes, un aizstāt tās ar vienu:
sed -n '1,3 s / * / / gp' Solvetic.txtZvaigznīte (*) apzīmē nulli vai vairāk iepriekš atlasītās rakstzīmes.
5. solis
Meklēšanas modeli var samazināt līdz vienai vietai, izmantojot šādu komandu:
sed -n '1,3 s / * / / gp' Solvetic.txtMēs redzam atšķirību rezultātos:
PALIELINĀT
Pēdējā gadījumā zvaigznīte atbilst nullei vai vairāk no iepriekšējās rakstzīmes, tādējādi katra rakstzīme, kas nav atstarpe, izskatās kā "nulles atstarpe", piemērojot komandu.
6. darbība
Lai vienlaikus veiktu divas vai vairākas nomaiņas, mēs veicam:
sed -n -e ' / izpildīts / lietots / gip' -e 's / uzdevumi / darbības / gip' Solvetic.txt
PALIELINĀT
4. SED nomaiņas iespējas operētājsistēmā Linux
Mēs varam izmantot arī sed, lai izvilktu no sistēmas failu nosaukumus, šajā gadījumā mums jāpatur prātā, ka katram objektam jāatbilst meklēšanas modelim (apakšizteiksmēm), ko var numurēt (līdz pat deviņiem elementiem).
1. darbība
Pēc tam šos skaitļus var izmantot, lai atsauktos uz noteiktām apakšizteiksmēm.
Apakšizteiksmei jābūt iekļautai iekavās [()], un pirms iekavām jābūt slīpsvītrai (\), lai tās netiktu atklātas kā parasta rakstzīme, piemēram:
sed 's / \ ([^:] * \). * / \ 1 /' / etc / passwd
PALIELINĀT
Šajā komandā izmantotie mainīgie ir
- sed 's /: norāda sed komandu un aizstāšanas izteiksmes sākumu.
- \ (: pievienojiet apakšizteiksmi, pirms kuras ir slīpsvītra
- [^:] *: ir meklēšanas vienuma pirmā apakšizteiksme, kurā ir grupa starp iekavām, apzīmējums (^) nozīmē “nē”, ja to lieto grupā, tas ir, jebkura rakstzīme, kas nav kols
- \): Beigu iekava [)] ar slīpsvītru
- . *: ir otrā meklēšanas apakšizteiksme, kas norāda "jebkuru rakstzīmi un jebkuru to skaitu".
- / \ 1: ir izteiksmes aizvietojošā daļa, kas satur skaitli 1, pirms kura ir slīpsvītra (\) un norāda, ka teksts atbilst pirmajai apakšizteiksmei
- / ': pārtrauc komandu sed
2. solis
Ar iepriekšējo komandu mēs meklējām jebkuru rakstzīmju virkni, kurā nav kolu, jo katra / etc / passwd faila rinda sākas ar lietotājvārdu, kas beidzas ar kolu. Mēs varam aizstāt šo vērtību, izolējot lietotājvārdu, ar šādu komandu:
sed 's / \ [[^:] * \) \ (. * \) / \ 2 /' / etc / passwd
PALIELINĀT
3. solis
Mēs varam parādīt tikai lietotāju vārdus ar šādu komandu:
sed 's /:.*// "/ etc/ passwdVēl viena iespēja ar sed ir izmantot parametru c (cut - cut), lai aizstātu tekstu failā, piemēram:
sed ' / Linux / c Linux operētājsistēma' Solvetic.txt
PALIELINĀT
5. Ievietojiet rindas un tekstu ar SED operētājsistēmā Linux
1. darbība
Vēl viens uzdevums, ko izmantot kopā ar sed, ir jaunu rindu un teksta ievietošana failā, šajā gadījumā mums ir šādi dati:
PALIELINĀT
2. solis
Mēs varam ievietot jaunu rindu, norādot zem kuras tā tiks ievietota:
sed ' / Ub / a -> Ievietots!' Solvetic.txt
PALIELINĀT
3. solis
Ir iespējams arī izmantot komandu Ievietot (i), lai ievietotu jaunu rindiņu virs atbilstības:
sed ' / Wi / i -> Ievietots!' Solvetic.txt
PALIELINĀT
4. solis
Mēs varam izmantot zīmi "&", lai pievienotu jaunu tekstu atbilstošai faila rindai, un mēs izpildām:
sed 's /.*/--> Ievietots & /' Solvetic.txt
PALIELINĀT
6. Kā izdzēst rindu ar SED Linux
Šajā gadījumā mums jāizmanto parametrs d (dzēst), lai dzēstu, piemēram, otro izpildāmo rindu:
sed '2d' Solvetic.txt
PALIELINĀT
Vajadzības gadījumā mēs varam noņemt diapazonu:
sed '1,4d' Solvetic.txtLai noņemtu līnijas ārpus diapazona, mums ir jāizmanto izsaukuma zīme (!):
sed '2,4! d' Solvetic.txt
7. Kā saglabāt izmaiņas, izmantojot SED operētājsistēmā Linux
1. darbība
Lai piemērotu veiktās izmaiņas, ir iespējams izmantot opciju In-place (-i), lai sed varētu ierakstīt izmaiņas sākotnējā failā, bet, lai nodrošinātu lielāku drošību, mēs varam pievienot rezerves paplašinājumu šādi (esam dublējuši rindas, kurās ir vārds Wi):
sed -i'.bak '' /^.*Wi.*$/d 'Solvetic.txtMēs uzskaitām saturu:
kaķis Solvetic.txt.bak
PALIELINĀT
2. solis
Ir iespējams novirzīt izvadi uz jaunu failu ar tādiem pašiem rezultātiem:
sed -i'.bak '' /^.*Wi.*$/d 'Solvetic.txt> Solvetic1.txt
PALIELINĀT
Ar sed mēs varam pilnībā strādāt ar failiem operētājsistēmā Linux, jo esam redzējuši katru tā lietošanas iespēju.