Shell Script para convertir el contenido de un archivo a minúsculas o mayúsculas

Aquí vamos a ver cómo convertir un archivo a minúsculas o mayúsculas según lo especificado por el usuario. Vamos a escribir un   script de shell compatible con POSIX  que nos dará la salida deseada después de la entrada de archivos como sample.txt, un archivo de texto con una combinación de minúsculas, mayúsculas, dígitos y caracteres especiales.

Ejemplo:

File Content

this is lowercase

THIS IS UPPERCASE

$P3C14L C#4R4CT3R$

1234567890

OUTPUT

Uppercase

THIS IS LOWERCASE

THIS IS UPPERCASE

$P3C14L C#4R4CT3R$

1234567890

Lowercase

this is lowercase

this is uppercase

$p3c14l c#4r4ct3r$

1234567890

Acercarse:

  • Pregunte a User Choice si quiere convertir de mayúsculas a minúsculas o viceversa
  • Leer la elección
  • Métete en el caso de Switch dependiendo de la elección. mientras sale si la elección no es ninguna de las mencionadas anteriormente.
  • Preguntar al usuario por el nombre del archivo
  • Verificando si el archivo existe, si no, salga con el código de error 1, de lo contrario continúe
  • Traducir el contenido del archivo según la elección del usuario seleccionada anteriormente e imprimir el resultado mediante el uso del comando tr .
  • Fin del guión

Guión de concha 

#!/bin/sh
# shebang to specify that this is an shell script

# Function to get File
getFile(){
    # Reading txtFileName to convert it's content
    echo -n "Enter File Name:"
    read txtFileName
    # Checking if file exist
    if [ ! -f $txtFileName ]; then
        echo "File Name $txtFileName does not exists."
        exit 1
    fi
}

clear
  echo "1. Uppercase to Lowercase "
  echo "2. Lowercase to Uppercase"
  echo "3. Exit"
  echo -n "Enter your Choice(1-3):"
  read Ch

  case "$Ch" in
    1) 
      # Function Call to get File 
      getFile    
      # Converting to lower case if user chose 1     
      echo "Converting Upper-case to Lower-Case "
      tr '[A-Z]' '[a-z]' <$txtFileName
    ;;

    2)
      # Function Call to get File 
      getFile
      # Converting to upper case if user chose 2
      echo "Converting Lower-Case to Upper-Case "
      tr '[a-z]' '[A-Z]' <$txtFileName
    ;;
    

    *) # exiting for all other cases
        echo "Exiting..."
        exit
    ;;
  esac

Producción:

Shell Script to Convert a File to Lower Case or Upper Case as Specified by User

Ejemplo de archivo de texto y hacer que nuestro script sea ejecutable

Mostrando el contenido del archivo de texto de muestra con el comando cat y modificando nuestro script haciéndolo ejecutable con el comando chmod .

Entrada y salida de conversión

Shell Script to Convert a File to Lower Case or Upper Case as Specified by User

Convertir el contenido del archivo de mayúsculas a minúsculas

Shell Script to Convert a File to Lower Case or Upper Case as Specified by User

Convertir el contenido del archivo de minúsculas a mayúsculas

Ejecutando en archivos no existentes

Shell Script to Convert a File to Lower Case or Upper Case as Specified by User

En el Expediente no existe

Publicación traducida automáticamente

Artículo escrito por vabs y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *