Johdatus Linux sed -komentoon
Linux-käyttöjärjestelmä käyttää terminaalin komentoja tietokoneen tiedostojärjestelmän kanssa. Linux- komennon ensisijainen käyttö, joka on lyhyt stream-editori, on muuttaa jokaisen tiedoston tai virran rivin korvaamalla rivin tietyt osat. Se tekee perustekstistä muutoksia tiedostoksi tai syötteeksi putkesta. Oletetaan esimerkiksi, että sinulla on tiedosto nimeltä "songs.text", joka sisältää nämä rivit:
1, Justin Timberlake, nimike 545, hinta 6,30 dollaria 2, Taylor Swift, nimike 723, hinta 7,90 dollaria 3, Mick Jagger, osasto 610, hinta 7,90 dollaria 4, Lady Gaga, nimike 118, hinta 6,30 dollaria 5, Johnny Cash, osasto 482, hinta 6,50 dollaria 6, Elvis Presley, osasto 335, hinta 6,30 dollaria 7, John Lennon, osasto 271, hinta 7,90 dollariaTekstivaihtelujen tekeminen sed
Jos haluat muuttaa kaikki hintatiedot 6,30 - 7,30 dollaria, voit tehdä muutokset käyttämällä sed-komentoa tällä tavalla:
sed 's / 6.30 / 7.30 /' songs.txt> songs2.txtTämä koodi tekee muutoksen ja kirjoittaa muutetun tiedoston "songs2.txt". Tulostiedosto sisältää:
1, Justin Timberlake, osasto 545, hinta 7,30 dollaria 2, Taylor Swift, nimike 723, hinta 7,90 dollaria 3, Mick Jagger, osasto 610, hinta 7,90 dollaria 4, Lady Gaga, nimike 118, hinta 7,30 dollaria 5, Johnny Cash, osasto 482, hinta 6,50 dollaria 6, Elvis Presley, osasto 335, hinta 7,30 dollaria 7, John Lennon, osasto 271, hinta 7,90 dollariaJos haluat korvata kaikki tapahtumat "Cash" -kohdassa "Roskakori", käytät:
sed / cash / roskakori / "songs.txt" songs2.txtjoka luo sisällön sisältävän tiedoston:
1, Justin Timberlake, nimike 545, hinta 7,30 dollaria 2, Taylor Swift, nimike 723, hinta 7,90 dollaria 3, Mick Jagger, osasto 610, hinta 7,90 dollaria 4, Lady Gaga, nimike 118, hinta 7,30 dollaria 5, Johnny Trash, 482, hinta 6,50 dollaria 6, Elvis Presley, osasto 335, hinta 7,30 dollaria 7, John Lennon, osasto 271, hinta 7,90 dollariaSuodatus Sed-komennolla
Sed on myös usein suodattaa rivit tiedostossa tai virrassa. Jos haluat esimerkiksi nähdä rivit, jotka sisältävät "John", käytät:
sed -n '/ john / p' songs.txt> johns.txtjoka kirjoittaa seuraavat rivit tiedostoon johns.txt:
5, Johnny Trash, osasto 482, hinta 6,50 dollaria 7, John Lennon, osasto 271, hinta 7,90 dollaria