Kouman efase liy espesifik nan yon dosye lè l sèvi avèk sed

Nan sèten okazyon nou bezwen efase yon liy espesifik nan yon dosye oswa plizyè, pou egzanp, li te rive m 'ke mwen te gen yon lis antye nan dosye e mwen bezwen efase liy # 27 nan tout bagay sa yo (liy # 27 se ke nan yon akl, nòmal, règ, konfigirasyon), mwen ka swa modifye dosye pa dosye oswa mwen ka jis reyalize sa mwen bezwen lè l sèvi avèk lòd la SED ak yon script bash (si ou vle).

Men, kite a eseye yon dosye sèl yon ti jan senp.

Nou gen dosye a distros-deb.txt ki gen sa a:

dbyan

kubuntu

archlinux

solis

rekòt pye mant

Nan lòt mo, dosye a distros-deb.txt se nan ki nou pral mete distribisyon yo Debian ki baze sou, men gen nou wè ke nan liy # 3 gen "archlinux", yon distribisyon ki evidamman pa gen anyen fè ak Debian, se konsa nou dwe elimine liy sa a. Pou elimine liy # 3 nan dosye sa nou pral mete bagay sa yo:

sed "3d" distros-deb.txt > distros-deb-ok.txt

Eksplike liy sa a se yon ti jan fasil, ak swaf dlo "3d" nou ap endike ke nou pral efase liy # 3, avèk yo distros-deb.txt Nou endike ki sa dosye yo travay sou, se sa ki, efase liy # 3 nan dosye sa a, jiska isit la si nou peze Antre li pral montre nou sa nou vle, men nan tèminal la, se konsa ak > distros-deb-ok.txt nou ap endike ke olye pou yo montre rezilta a nan tèminal, ke li mete l 'nan yon dosye ki gen non sa a.

Ki sa ki senp?

Epitou, nou ka evite itilize > distros-deb-ok.txt lè l sèvi avèk yon paramèt apwopriye nan SED, paramèt la -i

Sa se, nan ka nou vle efase liy lan nan dosye a epi sove li ak non an menm (epi yo pa nan yon lòt dosye), tou senpleman ajoute paramèt la -i :

sed -i "3d" distros-deb.txt

Sa a pral retire liy # 3 soti nan distros-deb.txt epi sove li.

E si mwen vle yon seri de liy, se sa ki retire liy # 3, men tou # 4 ak # 5? Pou reyalize sa a nou mete seri a soti nan 3 a 5, se sa ki:

sed -i "3,5d" distros-deb.txt

Epi li pral montre m 'sèlman Debian ak kubuntu 😀

Se konsa, e si mwen vle efase soti nan liy 2 a yon sèl ki sot pase a, lè mwen pa konnen liy total yo?

Jis itilize senbòl dola a - »$

sed -i "2,$d" distros-deb.txt

Nan ka ou vle elimine soti nan liy lan premye nan # 4 Lè sa a, nou tou senpleman mete valè a 1 nan kòmansman an:

sed -i "1,4d" distros-deb.txt

Sa a te tout bagay, yon pwent trè itil lè ou vle fè Scripts bach otomatize travay epi ou bezwen modifye ak elimine liy nan dosye konfigirasyon, modifye nou ka itilize SED o pèrl, osi byen ke elimine nou deja konnen ki jan fè li ak sed sed

Concerne


Kontni an nan atik la respekte prensip nou yo nan etik editoryal. Pou rapòte yon erè klike sou isit la.

16 kòmantè, kite ou

Kite kòmantè ou

Adrès imèl ou pa pral dwe pibliye. Jaden obligatwa yo make ak *

*

*

  1. Responsab pou done yo: Miguel Ángel Gatón
  2. Objektif done yo: Kontwòl SPAM, jesyon kòmantè.
  3. Lejitimasyon: konsantman ou
  4. Kominikasyon nan done yo: done yo pa pral kominike bay twazyèm pati eksepte pa obligasyon legal.
  5. Done depo: baz done anime pa rezo Occentus (Inyon Ewopeyen)
  6. Dwa: Nenpòt ki lè ou ka limite, refè ak efase enfòmasyon ou yo.

  1.   mss-devel diro

    Trè bon kontribisyon 😉

    1.    KZKG ^ Gaara diro

      Mèsi

      By wout la, nou te resevwa imèl ou kounye a mwen reponn ou 😀

      Concerne

  2.   anonim diro

    Kòm gran prèt nan tèminal la, serveurs ak koneksyon ssh mwen vin jwenn ou, oh gwo KZKG ^ Gaara, epi mwen mande ou: ki kote mwen ka jwenn yon leson patikilye nan nivo inyorans mwen ki pèmèt mwen sèvi ak koneksyon ssh ant de machin aleka nan diferan rezo pou pataje tèks dosye, pdf, imaj ak son (mp3) ....

    🙂

    Seryezman, èske ou ta ka gide m 'nan sans sa a, mwen gen de machin, yon sèl nan travay ak yon sèl nan kay e mwen bezwen yon koneksyon ssh ant yo (paske jan mwen konprann li, ssh pèmèt kontni yo dwe pataje ant machin, mwen mal?
    Men, si mwen mal, ki aplikasyon ou rekòmande?
    Ak ki kote mwen jwenn yon leson patikilye debaz nan sans sa a?

    1.    -spyker- diro

      scp.

      scp itilizatè @ machine_address: chemen itilizatè @ machine_address: chemen.

      Menm sentaks kòm CP, sous -> destinasyon.

  3.   F3niX diro

    Ou te parèt nonm, ou te pèdi.

  4.   Joaquin diro

    Bon Ide!

  5.   LycusHackerEmo diro

    Konsèy enteresan ... xD

    pa chans ou pa konnen yon sèl ki fè tèks fonse kanpe deyò?
    Mwen vle di, mwen gen yon dosye txt ki se yon diksyonè, li gen plis pase 10000 liy e mwen vle li mete aksan sou sèten tèks anvan ":" pwen yo sispann ak fè li youn pa youn se twòp.

    1.    KZKG ^ Gaara diro

      Hello,

      Yon dosye txt se tèks plenn, menm jan non an vle di ... plenn, san fòma oswa anyen menm jan an, mwen regrèt men mwen panse ke sa ou mande a pa ka fè, li ka? 🙁

      Concerne

      1.    Aka diro

        aktyèlman li kapab, men ou ta dwe konnen fòma destinasyon an.
        egzanp:
        eko $ (eko "Robert: Hello. Chanje isit la" | sed 's / \ ./. \\ e [40; 31m /; s / \: /: \\ e [40; 35m /')
        se yon kesyon de siviv.
        lòt fason a efase ki ka itilize se sed '/' $ 1 '/ d' men ou dwe asire w ke re la.

        1.    LycusHackerEmo diro

          Lè sa a, fini ekonomize li nan * .odt

          Èske pa gen yon fason pi fasil pou fè li ak LibreOffice?

  6.   Lolo diro

    Èske ou ta ka efase yon pati nan yon liy epi kite rès la?

    Ann di mwen vle efase tout bagay devan yon mo nan yon ranje sèten.

    Oswa efase tout bagay ki swiv mo sa a.

    1.    Aka diro

      Wi, li nan yon kesyon de rale yon regex (si sa nesesè nonm sed -r, -regexp-pwolonje)
      Apati de sa mwen jwenn
      eko «Robert: Bonjou. Chanje isit la »| sed 's / Chanje //'
      ak yon modèl ki byen defini e avèk. (yon karaktè) ak * (plis pase yon)
      Apre:
      eko «Robert: Bonjou. Chanje isit la »| sed 's / Chanje. * //'
      Anvan:
      eko «Robert: Bonjou. Chanje isit la »| sed 's /. * Chanje //'
      Si li enpòtan ke mo a parèt
      eko «Robert: Bonjou. Chanje isit la »| sed 's / Chanje. * / Chanje /'
      oswa plis elabore
      nan liy lan ki gen Robert sa ki ale apre Chanjman
      eko -e «Fritz: Bonjou. Chanje isit la \ nRobert: Bonjou. Chanje isit la »| sed '/Robert/s/Cambio.*//'
      oswa tankou nan kòmansman an pran dezyèm liy lan ak pwosesis rès la
      eko -e «Fritz: Bonjou. Chanje isit la \ nRobert: Bonjou. Chanje isit la \ nLòt »| sed -e 2d -e 's / Chanje. * //'
      eko -e «Fritz: Bonjou. Chanje isit la \ nRobert: Bonjou. Chanje isit la \ nLòt »| sed '2d; s / Chanje. * //'

      1.    Lolo diro

        Mèsi, li trè itil pou mwen.

  7.   msx diro

    Bèl atik, nan ki mwen renmen, ki jan gwo SysAdmin la!
    Ki sa ki ta lavi nou san yo pa sed, awek, pèrl, grep, ke, tèt, "Emacs" ak anpil lòt zouti esansyèl!?

  8.   Lisbeth Ollarves diro

    Mèsi, li te trè itil.

  9.   Perni diro

    Bonjou, ak ki jan ou ta ka efase nan yon dosye liy 1,4 ak 10 nan menm lòd la?