Shell Script para mostrar los dígitos que están en posición impar

Aquí dada una lista de números, nuestra tarea es encontrar la posición impar del número dado.

Ejemplo:

Input: 123456
Output: 135
Explanation: 1, 2, 3 are at odd position.

Input: 34567
Output: 357
Explanation: 3, 5, 7 are at odd position.

Tendremos que ingresar un número del usuario para un script dinámico. Después de la entrada del número, necesitamos saber si la entrada es un número o no. También podemos aceptar números con signos. Tendremos que ingresar del usuario hasta que ingrese un número puro. Luego, podemos saber exactamente cuántos dígitos hay en la variable, luego necesitamos recorrer solo los dígitos impares e imprimir lo mismo. Uso de cortar, leer y otras herramientas básicas de utilidad de Linux para hacer la tarea más simple y eficiente.

Acercarse:

  • Tome la entrada de los usuarios.
  • Cuenta de los dígitos.
  • Seleccione los dígitos particulares.
  • Manejar los símbolos + y – (signo).
  • Obtén el resultado.

A continuación se muestra la implementación:

#!/bin/bash
n=0
while ! [[ $n =~ "^[-+]?[0-9]+$" ]]
do
    read -p "Enter a number : " n
    l=${#n}
    if [[ $n =~ ^[+-]?[0-9]+$ ]];then
        if [[ $n =~ ^[+-] ]];then
            i=2
        if   
        if [[ $n =~ ^[0-9] ]];then
            i=1
        if
        while [ $i -le $l ]
        do
            d=$(echo $n | cut -c $i)
            echo $d    
            i=$(($i + 2)) 
        done
    break    
    if
done

Producción:

 

Publicación traducida automáticamente

Artículo escrito por meetgor 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 *