Skip to main content

Exemples de Com s'utilitza el comandament Sed de Linux

Anonim

El sistema operatiu Linux fa ús de les ordres de terminal per treballar amb el sistema de fitxers d'un ordinador. L'ús principal de l'ordre Linux sed, que és curta per l'editor de seqüències, és modificar cada línia d'un fitxer o de flux substituint les parts especificades de la línia. Realitza canvis de text bàsics en un fitxer o entrada d'un canal. Per exemple, diuen que teniu un fitxer anomenat "songs.text" que conté aquestes línies:

1, Justin Timberlake, Títol 545, Preu $ 6,302, Taylor Swift, títol 723, preu 7,90 dòlars3, Mick Jagger, títol 610, Preu 7,90 dòlars4, Lady Gaga, Títol 118, Preu $ 6,305, Johnny Cash, títol 482, preu de $ 6.506, Elvis Presley, Títol 335, Preu $ 6,307, John Lennon, Títol 271, Preu $ 7,90

Fer substitucions de text amb sed

Si voleu canviar totes les aparicions de preus de 6,30 dòlars a 7,30 dòlars, podeu fer els canvis utilitzant l'ordre sed d'aquesta manera:

Sed's / 6.30 / 7.30 / 'songs.txt> cançons2.txt

Aquest codi fa el canvi i escriu el fitxer modificat a "songs2.txt". El fitxer de sortida conté:

1, Justin Timberlake, Títol 545, Preu 7,30 dòlars2, Taylor Swift, títol 723, preu 7,90 dòlars3, Mick Jagger, títol 610, Preu 7,90 dòlars4, Lady Gaga, títol 118, preu 7,30 dòlars5, Johnny Cash, títol 482, preu de $ 6.506, Elvis Presley, títol 335, preu 7,30 dòlars7, John Lennon, Títol 271, Preu $ 7,90

Si voleu reemplaçar totes les aparicions de "Efectiu" amb "Paperera" que utilitzeu:

Sed's / Cash / Trash / 'songs.txt> songs2.txt

que crea un fitxer amb contingut:

1, Justin Timberlake, Títol 545, Preu $ 7: 302, Taylor Swift, títol 723, preu 7,90 dòlars3, Mick Jagger, títol 610, Preu 7,90 dòlars4, Lady Gaga, títol 118, Preu $ 7: 305, Johnny Trash, Títol 482, Preu $ 6.506, Elvis Presley, títol 335, Preu $ 7: 307, John Lennon, Títol 271, Preu $ 7,90

Filtratge amb el comandament Sed

Sed també s'utilitza sovint per filtrar línies en un fitxer o en un flux. Per exemple, si només voleu veure les línies que contenen "John", feu servir:

sed -n '/ John / p' songs.txt> johns.txt

que escriu les següents línies per arxiu johns.txt:

5, Johnny Trash, Títol 482, Preu $ 6.507, John Lennon, Títol 271, Preu $ 7,90