Įvadas į Linux komandą
Linux operacinė sistema naudoja terminalines komandas dirbti su kompiuterio failų sistema. Pirminis " Linux" komandų " sed" naudojimas , kuris trumpas srauto redaktoriui, yra keisti kiekvieną failo ar srauto eilutę, pakeičiant nurodytas linijos dalis. Tai daro pagrindinius teksto pakeitimus failo ar įvesties dujotiekio. Pavyzdžiui, pasakykite, kad turite failą pavadinimu "songs.text", kuriame yra šios eilutės:
1, Justin Timberlake, Title 545, Price 6.30 $ 2, Taylor Swift, Title 723, Price 7.90 $ 3, Mick Jagger, Title 610, Price 7.90 $ 4, Lady Gaga, Title 118, Price 6.30 $ 5, Johnny Cash, Title 482, Price 6.50 $. 6, Elvis Presley, antraštė 335, kaina $ 6.30 7, John Lennon, antraštė 271, kaina $ 7.90Teksto pakeitimas su Sed
Jei norite pakeisti visus kainų pokyčius nuo $ 6,30 iki $ 7,30, galite atlikti pakeitimus naudojant komandą sed, tokiu būdu:
sed 's / 6.30 / 7.30 /' songs.txt> songs2.txtŠis kodas pakeičia ir įrašo pakeistą failą į "songs2.txt". Išvesties failas yra:
1, Justin Timberlake, Titulinis 545, Kaina 7,30 $ 2, Taylor Swift, 723 antraštė, Kaina 7,90 $ 3, Mickas Jaggeris, 610 antraštė, Kaina 7,90 $ 4, Lady Gaga, 118 antraštė, Kaina 7,30 $ 5, Johnny Cash, antraštė 482, kaina 6,50 $ 6, Elvis Presley, antraštė 335, kaina $ 7.30 7, John Lennon, antraštė 271, kaina $ 7.90Jei norite pakeisti visus "Cash" įvykius į "Šiukšliadėžę", naudokite:
sed 's / Cash / Trash /' songs.txt> songs2.txtkuri sukuria failą su turiniu:
1, Justin Timberlake, Title 545, Price $ 7: 30 2, Taylor Swift, Title 723, Price $ 7.90 3, Mick Jagger, Title 610, Price $ 7.90 4, Lady Gaga, Title 118, Price $ 7: 30 5, Johnny Trash, Title 482, Kaina 6,50 $ 6, Elvis Presley, antraštė 335, Kaina 7 $ 30, 7 John Lennon, antraštė 271, kaina 7,90 $Filtras naudojant Sed komandą
Sed taip pat dažnai naudojamas filtruoti eilutes failo ar srauto. Pavyzdžiui, jei norite pamatyti tik eilutes, kuriose yra "Jonas", jūs naudojate:
sed -n '/ John / p' songs.txt> johns.txtkuris įrašo šias eilutes failui johns.txt:
5, Johnny Trash, 482 antraštė, kaina 6,50 $ 7, John Lennon, antraštė 271, kaina 7,90 $