GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Combinar 2 comandos?

Necesito escribir un script de shell para convertir caracteres en un archivo a minúsculas y reemplazar caracteres no alfabéticos a _ .

Tengo un comando separado para los dos anteriores. Cómo dar un archivo como argumento y hacer las cosas anteriores, es decir, la salida tendrá solo caracteres en minúsculas y no alfa se reemplazará con _ (guión bajo)?

Respuesta aceptada:

Usando sed :

sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt

Esto es en realidad dos sed comandos separados por ; :

  • s/[^[:alpha:]]/_/g transforma cada carácter no alfabético en un _

  • s/[[:upper:]]/\L&/g convierte todos los caracteres en mayúsculas a minúsculas

Ejemplo:

$ cat file.txt 
fooBAr132323
SpamEgg

$ sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt
foobar______
spamegg

Ubuntu
  1. 8 comandos espeluznantes que rondan la terminal

  2. Comandos vi básicos (hoja de trucos)

  3. Todos los comandos de compresión/descompresión de Linux

  4. Ejecutar archivo de texto como comandos en Bash

  5. cp -L frente a cp -H

Introducción a los comandos ad hoc de Ansible

Algunos comandos aleatorios de Linux de una sola línea [Parte 3]

Cómo ejecutar comandos de archivo .sh todo a la vez en Linux

Comandos básicos de Linux para principiantes

5 comandos para ver el contenido de un archivo en la línea de comandos de Linux

Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux - Parte 5