Articles

50 ejemplos de comandos` sed`

Posted by admin

` sed ‘ es una útil función de procesamiento de texto de GNU/Linux. La forma completa de `sed ‘ es Stream Editor. Muchos tipos de tareas de procesamiento de texto simples y complicadas se pueden hacer muy fácilmente utilizando el comando `sed`. Cualquier cadena en particular en un texto o un archivo puede ser buscado, reemplazado y eliminado mediante el uso de la expresión regular con `sed comando. Pero este comando realiza todos los tipos de modificación temporalmente y el contenido del archivo original no se cambia de forma predeterminada. El usuario puede almacenar el contenido modificado en otro archivo si es necesario., Los usos básicos del comando ‘ sed ‘ se explican en este tutorial mediante el uso de 50 ejemplos únicos.

antes de comenzar este tutorial, debe verificar la versión instalada de ‘ sed ‘ en su sistema operativo ejecutando el siguiente comando. El tutorial está diseñado basado en GNU sed. Así que esta versión de `sed` será necesaria para practicar los ejemplos que se muestran en este tutorial.

$ sed –version

El siguiente resultado muestra que GNU Sed de la versión 4.4 está instalado en el sistema.,

sintaxis:

sed s

si no se proporciona ningún nombre de archivo con el comando `sed`, entonces el script funcionará con datos de entrada estándar. El script` sed ‘ se puede ejecutar sin ninguna opción.,cter

  • truncar todas las líneas a los primeros 80 caracteres
  • Buscar una cadena regex y añadir un texto estándar después de ella
  • Buscar una cadena regex y una segunda copia de la cadena encontrada después de ella
  • ejecutar scripts `sed` multilínea desde un archivo
  • coincidir con un patrón multilínea y reemplazarlo con nuevo texto multilínea
  • reemplazar el orden de dos palabras que coinciden con un patrón
  • utilizar múltiples comandos sed de la línea de comandos
  • combine sed con otros comandos
  • inserte una línea vacía en un archivo
  • elimine todos los caracteres alfanuméricos de cada línea de un archivo.,
  • Use ‘&’ para que coincida con la cadena
  • cambiar par de palabras
  • mayúscula el primer carácter de cada palabra
  • imprimir números de línea del archivo
  • sustitución básica de texto usando ‘sed’

    cualquier parte particular de un texto se puede buscar y reemplazar mediante el uso de buscar y reemplazar patrón mediante el uso de `sed` comando. En el siguiente ejemplo, ‘s’ indica la tarea buscar y reemplazar. La palabra ‘Bash’ se buscará en el texto, «Bash Scripting Language» y si la palabra existe en el texto que será sustituido por la palabra ‘Perl’.,

    $ echo «Bash Scripting Language» | sed ‘s/Bash/Perl/’

    Resultado:

    La palabra, ‘Bash’ existe en el texto. Así que la salida es ‘Perl Scripting Language’.

    el comando`sed` también se puede usar para sustituir cualquier parte del contenido de un archivo. Cree un archivo de texto llamado weekday.txt con el siguiente contenido.

    día de la semana.,txt

    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday

    El siguiente comando buscar y reemplazar el texto ‘domingo ‘, por el texto «el domingo es día de fiesta».

    cat cat weekday.txt
    s sed ‘s / Sunday / Sunday is holiday /’ weekday.txt

    salida:

    ‘Sunday’ existe en weekday.txt y esta palabra es reemplazada por el texto, ‘Sunday is holiday’ después de ejecutar el comando `sed` anterior.,

    ir al principio

    reemplazar todas las instancias de un texto en una línea particular de un archivo usando la opción ‘g’

    la opción’G’ se usa en el comando `sed` para reemplazar todas las ocurrencias de patrón coincidente. Crea un archivo de texto llamado python.txt con el siguiente contenido para conocer el uso de la opción ‘g’. Este archivo contiene la palabra. ‘Python’ varias veces.

    python.txt

    Python es un lenguaje muy popular.
    Python es fácil de usar. Python es fácil de aprender.,
    Python es un lenguaje multiplataforma

    el siguiente comando reemplazará todas las ocurrencias de ‘Python’ en la segunda línea del archivo, python.txt. Aquí, ‘Python’ aparece dos veces en la segunda línea.

    cat cat python.txt
    s sed ‘2 s/Python/perl / g’ python.txt

    salida:

    la siguiente salida aparecerá después de ejecutar el script. Aquí, toda la ocurrencia de ‘Python’ en la segunda línea es reemplazada por’Perl’.,

    ir al principio

    reemplazar la segunda ocurrencia solo de una coincidencia en cada línea

    si alguna palabra aparece varias veces en un archivo, entonces la ocurrencia particular de la palabra en cada línea puede ser reemplazada usando el comando `sed` con el número de ocurrencia. El siguiente comando ‘ sed ‘ reemplazará la segunda aparición del patrón de búsqueda en cada línea del archivo, python.txt.

    s sed’ s/Python/perl / g2 ‘ python.txt

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior., Aquí, el texto de búsqueda, ‘Python’ aparece dos veces solo en la segunda línea y es reemplazado por el texto, ‘Perl’.

    ir al principio

    reemplazar la última aparición de una coincidencia en cada línea

    crear un archivo de texto llamado lang.txt con el siguiente contenido.

    lang.txt

    lenguaje de programación Bash. Lenguaje De Programación Python. Lenguaje De Programación Perl.
    lenguaje de marcado de hipertexto.
    lenguaje de marcado Extensible.

    s sed ‘s/\(.* \) Programming / \1scripting/ ‘ lang.,txt

    ir al principio

    reemplazar la primera coincidencia en un archivo con texto nuevo

    el siguiente comando reemplazará solo la primera coincidencia del patrón de búsqueda, ‘Python’ por el texto, ‘perl’. Aquí, ‘ 1 ‘ se utiliza para coincidir con la primera aparición del patrón.

    cat cat python.txt
    s sed ‘1 s / Python / perl /’ python.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores. Aqui. la primera aparición de ‘Python’ en la primera línea se sustituye por ‘perl’.,

    ir al principio

    reemplazar la última coincidencia en un archivo con nuevo texto

    el siguiente comando reemplazará la última aparición del patrón de búsqueda, ‘Python’ por el texto, ‘Bash’. Aquí, el símbolo ‘ $ ‘ se usa para coincidir con la última aparición del patrón.

    cat cat python.txt
    s sed-e’s S/Python/ Bash /’ python.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.,

    ir al principio

    escapar de la barra invertida en los comandos reemplazar para administrar la búsqueda y reemplazo de rutas de archivo

    es necesario escapar de la barra invertida en la ruta de archivo para buscar y reemplazar. El siguiente comando de ‘ sed ‘ agregará barra invertida ( \ ) en la ruta del archivo.

    echo echo /home/ubuntu/code/perl/add.pl /sed ‘s;/;\\/; g’

    salida:

    la ruta del archivo, ‘/ home/ubuntu/code/perl/add.pl’ se proporciona como entrada en el comando `sed` y la siguiente salida aparecerá después de ejecutar el comando anterior.,

    ir al principio

    reemplazar todos los archivos ruta completa con solo el nombre de archivo sin directorio

    El nombre de archivo se puede recuperar desde la ruta de archivo muy fácilmente mediante el comando `basename`. el comando ‘ sed ‘ también se puede usar para recuperar el nombre del archivo de la ruta del archivo. El siguiente comando recuperará el nombre del archivo solo de la ruta de archivo proporcionada por el comando` echo’.

    echo echo » /home/ubuntu/temp/myfile.txt «/ sed ‘ s/.* \ // / ‘

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior., Aquí, el nombre del archivo, ‘ myfile.txt ‘ se imprime como salida.

    ir al principio

    sustituir el texto pero solo si se encuentra otro texto en la cadena

    crear un archivo llamado ‘ dept.txt’ con el siguiente contenido para reemplazar cualquier texto basado en otro texto.

    dept.txt

    lista de estudiantes Totales:

    CSE – Count
    EEE – Count
    Civil – Count

    dos comandos de reemplazo se utilizan en el siguiente comando `sed`., Aquí, el texto, ‘Contar’ será reemplazado por 100 en la línea que contiene el texto, ‘CSE’ y el texto, ‘Contar’ será reemplazado por los 70 en la línea que contiene el patrón de búsqueda, ‘EEE’.

    cat cat dept.txt
    s sed-e’/ CSE/s/Count/ 100/;/ EEE/s/Count/ 70/; ‘ dept.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.,

    ir al principio

    sustituir texto pero solo si algún otro texto no se encuentra en la cadena

    el siguiente comando `sed` reemplazará el valor ‘Count’ en la línea que no contiene el texto, ‘CSE’. dept.el archivo txt contiene dos líneas que no contienen el texto, ‘CSE’. Por lo tanto, el texto ‘Count’ será reemplazado por 80 en dos líneas.

    cat cat dept.txt
    s sed-i-e ‘ /CSE/! s/Count/ 80/;’ dept.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.,

    ir al principio

    Añadir cadena antes y después del patrón coincidente usando ‘\1’

    la secuencia de patrones coincidentes del comando `sed` se denota por ‘\1’, ‘\2’ y así sucesivamente. El siguiente comando ‘ sed ‘buscará el patrón,’ Bash ‘y si el patrón coincide, entonces se accederá por’ \1 ‘ en la parte de reemplazar texto. Aquí, el texto, ‘Bash’ se busca en el texto de entrada y, un texto se agrega antes y otro texto se agrega después de ‘\1’.,

    echo echo» Bash language » | sed ‘s/\(Bash\)/Learn \1 programming/’

    Output:

    la siguiente salida aparecerá después de ejecutar el comando anterior. Aquí, el texto’ Learn ‘se agrega antes de’ Bash ‘y el texto’ programming ‘se agrega después de’Bash’.

    ir al principio

    eliminar líneas coincidentes

    la opción’D’ se utiliza en el comando `sed` para eliminar cualquier línea del archivo. Cree un archivo llamado os.txt y agregue el siguiente contenido para probar la función de la opción ‘d’.

    Cat os.,txt

    Windows
    Linux
    Android
    OS

    El siguiente `sed` comando eliminar las líneas de la so.archivo txt que contiene el texto, ‘OS’.

    cat cat os.txt
    s sed ‘/ OS / d ‘ os.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.

    ir al principio

    Eliminar línea coincidente y 2 líneas después de la línea coincidente

    el siguiente comando eliminará tres líneas del sistema operativo del archivo.txt si el patrón,’ Linux ‘ es encontrado. operativo.,txt contiene el texto, ‘Linux’ en la segunda línea. Por lo tanto, esta línea y las siguientes dos líneas se eliminarán.

    s sed ‘/ Linux/, + 2D ‘ os.txt

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior.

    ir al principio

    eliminar todos los espacios al final de la línea de texto

    Usando class se puede usar para eliminar espacios y pestañas del texto o el contenido de cualquier archivo. El siguiente comando eliminará los espacios al final de cada línea del archivo, os.txt.,

    cat cat os.txt
    s sed ‘s/] * os / /’ os.txt

    salida:

    os.txt contiene líneas vacías después de cada línea que se eliminan por el comando `sed` anterior.

    ir al principio

    eliminar todas las líneas que tienen una coincidencia dos veces en la línea

    crear un archivo de texto llamado, input.txt con el siguiente contenido y eliminar las líneas del archivo que contiene el patrón de Búsqueda dos veces.

    entrada.txt

    PHP es un lenguaje de scripting del lado del servidor.
    PHP es un lenguaje de código abierto y PHP distingue entre mayúsculas y minúsculas.,PHP es independiente de la plataforma.

    el texto’PHP’ contiene dos veces en la segunda línea del archivo, input.txt. Dos comandos ‘ sed ‘se utilizan en este ejemplo para eliminar las líneas que contienen el patrón’ php ‘ dos veces. El primer comando ‘ sed ‘reemplazará la segunda aparición de’ php ‘en cada línea por’ dl `y enviará la salida al segundo comando` sed ‘ como entrada. El segundo comando ‘ sed ‘eliminará aquellas líneas que contengan el texto, ‘dl’.

    input entrada cat.txt
    s sed’ S/php/dl / i2;t ‘ input.txt / sed’/dl/d ‘

    salida:

    entrada.,archivo txt tiene dos líneas que contienen el patrón, ‘php’ dos veces. Por lo tanto, la siguiente salida aparecerá después de ejecutar los comandos anteriores.

    ir al principio

    eliminar todas las líneas que solo tienen espacio en blanco

    Seleccione cualquier archivo que contenga líneas vacías en el contenido para probar este ejemplo. entrada.el archivo txt que se creó en el ejemplo anterior, contiene dos líneas vacías que se pueden eliminar utilizando el siguiente comando ‘sed’. Aquí, ‘^ ^ ‘ se usa para encontrar las líneas vacías en el archivo, input.txt.

    input entrada cat.,txt
    s sed ‘/ ^input / d’ input.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.

    ir al principio

    eliminar todos los caracteres no imprimibles

    los caracteres no imprimibles se pueden eliminar de cualquier texto reemplazando los caracteres no imprimibles por ninguno. la clase se usa en este ejemplo para averiguar los caracteres no imprimibles. ‘\t `es un carácter no imprimible y no puede ser analizado directamente por el comando` echo’. Para esto, el carácter ‘\t `se asigna en una variable, tab tab que se usa en una orden` echo’., La salida del comando` echo ‘ se envía en el comando` sed ‘que eliminará el carácter’ \t ‘ de la salida.

    $ tab=$’\t’
    $ echo «Hola$tabWorld»
    $ echo «Hola$tabWorld» | sed ‘s/]//g’

    Resultado:

    El siguiente resultado aparecerá después de ejecutar los comandos anteriores. El primer comando ‘echo imprimirá la salida con espacio de tabulación y el comando` sed’ imprimirá la salida después de eliminar el espacio de tabulación.,

    ir al principio

    si hay una coincidencia en la línea anexar algo al final de la línea

    el siguiente comando agregará ’10’ al final de la línea que contiene el texto, ‘Windows’ en el sistema operativo.archivo txt.

    cat cat os.txt
    s sed’/ Windows/ S/ os/ 10 / ‘ os.txt

    salida:

    la siguiente salida aparecerá después de ejecutar el comando.,

    ir arriba

    si hay una coincidencia en la línea inserte una línea antes del texto

    el siguiente comando `sed` buscará el texto, ‘PHP es independiente de la plataforma’ en la entrada.archivo txt creado anteriormente. Si el archivo contiene este texto en cualquier línea entonces, ‘PHP es un lenguaje interpretado’ será insertado antes de esa línea.

    input entrada cat.txt
    s sed ‘ / PHP es independiente de la plataforma/S / ^ / PHP es un lenguaje interpretado.\ N / ‘ entrada.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.

    ir al principio

    si hay una coincidencia en la línea inserte una línea después de esa línea

    el siguiente comando ‘ sed ‘buscará el texto, ‘Linux’ en el archivo os.txt y si el texto existe en cualquier línea entonces un nuevo texto, ‘Ubuntu’ será insertado después de esa línea.

    cat cat os.txt
    s sed ‘ S / Linux/&\nUbuntu / ‘ os.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.

    ir a la parte superior

    si no hay una coincidencia añadir algo al final de la línea

    el siguiente comando `sed` buscará esas líneas en el sistema operativo.txt que no contiene el texto, ‘Linux’ y añadir el texto, ‘Sistema Operativo’ al final de cada línea. Aquí, el símbolo ‘ $ ‘ se usa para identificar la línea donde se agregará el nuevo texto.

    cat cat os.txt
    s sed ‘ / Linux/! S / System / Sistema operativo / ‘ os.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores. Existen tres líneas en el sistema operativo de archivos.txt que no contiene el texto, ‘Linux’ y el nuevo texto S añadido al final de estas líneas.

    Ir a la parte superior

    Si no hay un partido eliminar la línea

    Crear un archivo llamado web.txt y agregue el siguiente contenido y elimine las líneas que no contengan el patrón coincidente. web.txt HTML 5JAVASCRIPTCSSPHPMYSQLJQUERY el siguiente comando ‘ sed ‘buscará y borrará aquellas líneas que no contengan el texto,’CSS’., web red de gatos.txt s sed ‘ / CSS/!d ‘ web.txt Output: la siguiente salida aparecerá después de ejecutar los comandos anteriores. Existe una línea en el archivo que contiene el texto, ‘CSE’. Por lo tanto, la salida contiene solo una línea.

    ir a la parte superior

    duplicar el texto coincidente después de agregar un espacio después del texto

    el siguiente comando ‘ sed ‘buscará la palabra’ to ‘ en el archivo, python.txt y si la palabra existe, entonces la misma palabra se insertará después de la palabra de búsqueda agregando espacio., Aquí, el símbolo ‘& ‘ se usa para agregar el texto duplicado.

    cat cat python.txt
    s sed-E ‘S /to / & to / G ‘ python.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos. Aquí, la palabra, ‘to’ se busca en el archivo, python.txt y esta palabra existe en la segunda línea de este archivo. Por lo tanto, ‘to’ con espacio se agrega después del texto correspondiente.,

    ir al principio

    reemplazar una lista de cadenas con la nueva cadena

    debe crear dos archivos de lista para probar este ejemplo. Cree un archivo de texto llamado list1.txt y añadir el siguiente contenido.

    cat list1.txt

    1001 => Jafar Ali
    1023 => Nir Hossain
    1067 => Juan Michel

    Crear un archivo de texto denominado lista2.txt y añadir el siguiente contenido.

    $ cat lista2.txt

    1001 CSE GPA-3.,63
    1002 CSE GPA-3.24
    1023 CSE GPA-3.11
    1067 CSE GPA-3.84

    el siguiente comando `sed` coincidirá con la primera columna de los dos archivos de texto mostrados anteriormente y reemplazará el texto coincidente con el valor de la tercera columna de la lista de archivos1.txt.

    $ cat list1.txt
    cat lista CAT2.txt
    s sed ‘ cat list1.txt | awk ‘{print «-e s/»$1″/»$3″/»}»<<<«` cat lista2.txt ‘»

    salida:

    1001, 1023 y 1067 de list1.el archivo txt coincide con los tres datos de list2.,archivo txt y estos valores se reemplazan por los nombres correspondientes de la tercera columna de list1.txt.

    ir al principio

    reemplazar la cadena coincidente con una cadena que contenga nuevas líneas

    el siguiente comando tomará la entrada del comando `echo` y buscará la palabra ‘Python’ en el texto. Si la palabra existe en el texto, entonces se insertará un nuevo texto, ‘texto agregado’ con nueva línea. echo echo «Bash Perl Python Java PHP ASP» /sed ‘s/Python/ Added Text\N /’ Output: la siguiente salida aparecerá después de ejecutar el comando anterior.,

    ir al principio

    Eliminar nuevas líneas del Archivo e insertar una coma al final de cada línea

    el siguiente comando `sed` reemplazará cada nueva línea por una coma en el sistema operativo del archivo.txt. Aquí, la opción-z se usa para separar la línea por carácter nulo.

    s sed-z ‘S/\n/, / g’ os.txt

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior.,

    ir al principio

    eliminar comas y añadir nueva línea para dividir el texto en varias líneas

    el siguiente comando `sed` tomará la línea separada por comas del comando `echo` como entrada y reemplazará la coma Por nueva línea.

    $ echo «Kaniz Fatema,30,lote» | sed «s/,/\n/g»

    Resultado:

    El siguiente resultado aparecerá después de ejecutar el comando anterior. El texto de entrada contiene tres datos separados por comas que se sustituyen por una nueva línea y se imprimen en tres líneas.,

    ir al principio

    buscar coincidencia insensible a mayúsculas y minúsculas y eliminar línea

    ‘i’ se utiliza en el comando `sed` para la coincidencia insensible a mayúsculas y minúsculas que indica ignorar mayúsculas y minúsculas. El siguiente comando ‘ sed ‘buscará la línea que contiene la palabra,’ linux ‘ y eliminará la línea del sistema operativo.archivo txt.

    cat cat os.txt
    s sed’/linux / Id ‘ os.txt

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior. operativo.,txt contiene la palabra, ‘Linux’ que coincide con el patrón, ‘linux’ para la búsqueda insensible a mayúsculas y minúsculas y eliminado.

    ir a la parte superior

    buscar coincidencia insensible a mayúsculas y reemplazar con nuevo texto

    el siguiente comando `sed` tomará la entrada del comando `echo` y reemplazará la palabra, ‘bash’ por la palabra, ‘PHP’.

    echo echo «I like bash programming» | sed ‘s/Bash/PHP/i’

    Output:

    la siguiente salida aparecerá después de ejecutar el comando anterior., Aquí, la palabra, ‘Bash’ coincidió con la palabra, ‘bash’ para la búsqueda insensible a mayúsculas y minúsculas y fue reemplazada por la palabra, ‘PHP’.

    ir al principio

    buscar coincidencia insensible a mayúsculas y reemplazar con todas las mayúsculas del mismo texto

    ‘\U’ se usa en `sed` para convertir cualquier texto a todas las letras mayúsculas. El siguiente comando ‘ sed ‘ buscará la palabra ‘linux’ en el sistema operativo.archivo txt y si la palabra existe, reemplazará la palabra con todas las letras mayúsculas.

    cat cat os.txt
    s sed ‘s/\(linux\)/\U \ 1 / Ig’ os.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores. La palabra «Linux» del sistema operativo.el archivo txt es reemplazado por la palabra, ‘LINUX’.

    ir al principio

    buscar coincidencia insensible a mayúsculas y reemplazar con todas las minúsculas del mismo texto

    ‘\L’ Se usa en `sed` para convertir cualquier texto a todas las letras minúsculas. El siguiente comando ‘ sed ‘ buscará la palabra ‘Linux’ en el sistema operativo.txt archivo y reemplazar la palabra por todas las letras minúsculas.

    cat cat os.txt
    s sed ‘s/\(linux\)/\L \ 1 / Ig’ os.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores. La palabra, ‘Linux’ se sustituye por la palabra, ‘linux’ aquí.

    ir al principio

    reemplazar todos los caracteres mayúsculas del texto con caracteres minúsculas

    el siguiente comando `sed` buscará todos los caracteres mayúsculas en el sistema operativo.txt archivo y reemplazar los caracteres por letras minúsculas mediante el uso de ‘\L’.

    cat cat os.txt
    s sed ‘s/\(.* \) /\L\1/’ os.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.

    Ir a la parte superior

    33. Busque el número en la línea y agregue cualquier símbolo de moneda antes del número

    crear un archivo con el nombre items.txt con el siguiente contenido.

    items.txt

    HDD 100
    Monitor 80
    Mouse 10

    el siguiente comando `sed` buscará el número en cada línea de elementos.archivo txt y añadir el símbolo de moneda, ‘ $ ‘ antes de cada número.

    items elementos cat.,txt
    s sed ‘s/\(\)/$\1/g’ artículos.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores. Aquí, el símbolo ‘ $ ‘ se añade antes del número de cada línea.

    ir al principio

    Añadir comas a los números que tienen más de 3 dígitos

    el siguiente comando `sed` tomará un número como entrada del comando `echo` y añadirá una coma después de cada grupo de tres dígitos contando desde la derecha. Aquí,’: a ‘indica la etiqueta y’ ta ‘ se usa para iterar el proceso de agrupación.,

    echo echo «5098673» | sed-E :A-e ‘s/\(.*\)\(\{3\}\)/\1,\2/;ta ‘

    salida:

    el número 5098673 se da en el comando `echo` y el comando `sed` generó el número 5,098,673 agregando una coma después de cada grupo de tres dígitos.

    ir al principio

    reemplaza el carácter de tabulación con 4 caracteres de espacio

    el siguiente comando `sed` reemplazará cada carácter de tabulación (\T) por cuatro caracteres de espacio., el símbolo `S` Se usa en el comando ‘sed’ para que coincida con el carácter de tabulación y ‘ g ‘ se usa para reemplazar todos los caracteres de tabulación.

    $ echo-e «1\t2\t3» | sed $’s/\t/ /g’

    Resultado:

    El siguiente resultado aparecerá después de ejecutar el comando anterior.

    ir al principio

    reemplaza 4 caracteres de espacio consecutivos con carácter de tabulación

    el siguiente comando reemplazará 4 caracteres consecutivos con carácter de tabulación (\t).,

    $ echo-e «1 2» | sed $’s/ /\t/g’

    Resultado:

    El siguiente resultado aparecerá después de ejecutar el comando anterior.

    ir al principio

    truncar todas las líneas a los primeros 80 caracteres

    crear un archivo de texto nombrado en.txt que contiene las líneas de más de 80 caracteres para probar este ejemplo.

    in.txt

    PHP es un lenguaje de scripting del lado del servidor.
    PHP es un lenguaje de código abierto y PHP distingue entre mayúsculas y minúsculas. PHP es independiente de la plataforma.
    el siguiente comando ‘ sed ‘ truncará cada línea de in.,archivo txt en 80 caracteres.

    cat cat in.txt
    s sed ‘ s / \(^.\{1,80\}\).* / \1 / ‘ in.txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores. La segunda línea de in.el archivo txt contiene más de 80 caracteres y esta línea se trunca en la salida.

    ir a la parte superior

    buscar una expresión regular de cadena y añadir un texto estándar después de ella

    el siguiente comando `sed` buscará el texto, ‘hello’ en el texto de entrada y añadir el texto, ‘John’ después de ese texto.,

    $ echo «hola, ¿cómo estás?»/sed ‘s/\(hello\)/\1 John /’

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior.

    ir a la parte superior

    buscar la expresión regular de la cadena y añadir un poco de texto después de la segunda coincidencia en cada línea

    el siguiente comando `sed` buscará el texto, ‘PHP’ en cada línea de entrada.txt y reemplazar la segunda coincidencia en cada línea con el texto, ‘nuevo texto añadido’.

    input entrada cat.txt
    s sed ‘S/\(PHP\)/ \ 1 (nuevo texto añadido) / 2’ input.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores. El texto de búsqueda, ‘PHP’ aparece dos veces en la segunda y tercera línea de entrada.archivo txt. Así, el texto, «Nuevo Texto añadido’ se inserta en la segunda y tercera líneas.

    ir al principio

    ejecutar scripts `sed` de varias líneas desde un archivo

    se pueden almacenar varios scripts `sed` en un archivo y todos los scripts se pueden ejecutar juntos ejecutando el comando `sed`. Cree un archivo llamado ‘sedcmd’ y agregue el siguiente contenido., Aquí, se agregan dos scripts ‘ sed ‘ en el archivo. Un script reemplazará el texto, ‘ PHP ‘ por ‘ ASP ‘otro script reemplazará el texto, ‘independiente’ por el texto, ‘dependiente’.

    sedcmd

    s/PHP/ASP/
    s/independiente/dependiente/

    El siguiente `sed` comando reemplazar todos los ‘PHP’ y ‘independiente’ texto ‘ASP» y «dependiente». Aquí, la opción ‘- f `Se usa en el comando` sed `para ejecutar el script` sed ‘ desde el archivo.

    cat cat sedcmd
    input sed-F sedcmd input.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.

    ir a la parte superior

    coincidir con un patrón multilínea y reemplazar con nuevo texto multilínea

    el siguiente comando `sed` buscará el texto multilínea, ‘Linux\nAndroid’ y si el patrón coincide, las líneas coincidentes serán reemplazadas por el texto multilínea, ‘Ubuntu\Nandroid Lollipop’. Aquí, P y D se utilizan para el procesamiento multilínea.

    cat cat os.txt
    s sed’!!N; S / Linux\Nandoid / Ubuntu\Nandoid Lollipop/; P; D’ os.,txt

    salida:

    la siguiente salida aparecerá después de ejecutar los comandos anteriores.

    ir al principio

    reemplazar el orden de dos palabras en un texto que coincida con un patrón

    el siguiente comando `sed` tomará la entrada de dos palabras del comando `echo` y reemplazará el orden de estas palabras.

    $ echo «perl python» | sed -e ‘s/\(*\) *\(*\)/\2 \1/’

    Resultado:

    El siguiente resultado aparecerá después de ejecutar el comando anterior.,

    ir al principio

    ejecutar múltiples comandos `sed` desde la línea de comandos

    la opción’-e’ se usa en el comando `sed` para ejecutar múltiples scripts `sed` desde la línea de comandos. El siguiente comando ‘ sed ‘tomará un texto como entrada del comando` echo ‘y reemplazará’ Ubuntu ‘por’ Kubuntu ‘y’ Centos ‘por’Fedora’.

    $ echo «Ubuntu, Centos, Debian» | sed -e ‘s/Ubuntu/Kubuntu/; s/Centos/Fedora/’

    Resultado:

    El siguiente resultado aparecerá después de ejecutar el comando anterior., Aquí, ‘Ubuntu ‘ y’ Centos ‘son reemplazados por’ Kubuntu ‘y’Fedora’.

    ir al principio

    Combine ‘ sed ‘con otros comandos

    el siguiente comando combinará el comando’ sed ‘con el comando` cat’. El primer comando ‘ sed ‘ tomará la entrada del sistema operativo.txt y envíe la salida del comando al segundo comando ‘ sed ‘después de reemplazar el texto’ Linux ‘ por ‘Fedora’. El segundo comando ‘ sed ‘ reemplazará el texto, ‘Windows’ por ‘Windows 10’.

    cat cat os.,txt / sed’ S/Linux/ Fedora| ‘/sed’ s/windows/Windows 10/i ‘

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior.

    ir al principio

    insertar una línea vacía en un archivo

    crear un archivo llamado stdlist con el siguiente contenido.

    stdlist

    #ID #Name
    -Ali
    -Neha

    la opción’G’ se utiliza para insertar una línea vacía en un archivo. El siguiente comando ‘ sed ‘ insertará líneas vacías después de cada línea del archivo stdlist.,

    $ cat stdlist
    $ sed G stdlist

    Resultado:

    El siguiente resultado aparecerá después de ejecutar los comandos anteriores. Se inserta una línea vacía después de cada línea del archivo.

    ir al principio

    reemplazar todos los caracteres alfanuméricos por espacio en cada línea de un archivo.

    el siguiente comando reemplazará todos los caracteres alfanuméricos por espacio en el archivo stdlist.,

    $ cat stdlist
    $sed ‘s///g’ stdlist

    Resultado:

    El siguiente resultado aparecerá después de ejecutar los comandos anteriores.

    ir a la parte superior

    Use ‘&’ para imprimir cadena coincidente

    el siguiente comando buscará la palabra que comienza con ‘L’ y reemplazará el texto añadiendo ‘cadena coincidente es –’ con la palabra coincidente usando ‘&’ Symbol. Aquí, ‘ p ‘ se usa para imprimir el texto modificado.,

    $ sed -n ‘s/^L/Cadena Coincidente es – &/p’ os.txt

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior.

    ir al principio

    cambiar par de palabras en un archivo

    crear un archivo de texto llamado curso.txt con el siguiente contenido que contiene el par de palabras en cada línea.

    curso.,txt

    PHP ASP
    MySQL Oracle
    CodeIgniter Laravel

    El siguiente comando para cambiar el par de palabras en cada línea del archivo, por supuesto.txt.

    $ sed ‘s/\(*\) *\(*\)/\2 \1/’ curso.txt

    salida:

    la siguiente salida aparecerá después de cambiar el par de palabras en cada línea.,

    ir al principio

    poner en mayúscula el primer carácter de cada palabra

    el siguiente comando `sed` tomará el texto de entrada del comando `echo` y convertirá el primer carácter de cada palabra en una letra mayúscula.

    echo echo «I like bash programming | / sed’ s/\(\)\(*\)/\U\1\2/g’

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior. El texto de entrada, » I like bash programming «se imprime como» I Like Bash Programming » después de poner en mayúscula la primera palabra.,

    ir al principio

    imprimir números de línea del archivo

    ‘=’ se usa el comando `sed` para imprimir el número de línea antes de cada línea de un archivo. El siguiente comando imprimirá el contenido del sistema operativo.archivo txt con número de línea.

    s sed ‘ = ‘ os.txt

    salida:

    la siguiente salida aparecerá después de ejecutar el comando anterior. Hay cuatro líneas en el sistema operativo.archivo txt. Así, el número de línea se imprime antes de cada línea del archivo.,

    ir al principio

    conclusión:

    Los diferentes usos del comando `sed ‘ se explican en este tutorial utilizando ejemplos muy simples. La salida de todos los scripts` sed ‘ mencionados aquí se generan temporalmente y el contenido del archivo original se mantiene sin cambios. Pero si lo desea, puede modificar el archivo original utilizando la opción –I O –IN-place del comando `sed. Si usted es un nuevo usuario de Linux y desea aprender los usos básicos del comando `sed` para realizar varios tipos de tareas de manipulación de cadenas, este tutorial le ayudará., Después de leer este tutorial, espero, cualquier usuario obtendrá el concepto claro sobre las funciones del comando` sed’.

    Leave A Comment