“Conocimiento Sistemas>unix

¿Programa para encontrar el mayor de tres números en UNIX?

2016/6/16
Existen varios enfoques para encontrar el mayor de tres números en UNIX, utilizando diferentes herramientas. Aquí hay algunos ejemplos:

1. Usando `awk`:

Esta es una solución concisa y eficiente:

`` `Bash

Awk '{imprime ($ 1> $ 2? ($ 1> $ 3? $ 1:$ 3):($ 2> $ 3? $ 2:$ 3))}' <<<"10 5 15"

`` `` ``

* `<<<" 10 5 15 "` Proporciona los tres números como entrada. Reemplace estos con sus números o variables reales.

* El script `Awk` utiliza operadores ternos anidados para comparar los números de manera eficiente.

2. Usando `Bash` (con expansión aritmética):

Esto es más legible pero un poco menos conciso que la solución 'Awk`:

`` `Bash

num1 =10

num2 =5

num3 =15

Greatest =$ ((num1> num2? num1:num2))

Greatest =$ ((((más grande> NUM3? Greatest:num3))

Echo $ Greatest

`` `` ``

Este script primero compara `num1` y` num2`, asignando lo más grande a 'mayor'. Luego compara `Greatest` con` num3`, actualizando 'Greatest' si es necesario.

3. Usando `BC` (para números de punto flotante):

Si necesita manejar números de punto flotante, `BC` (calculadora básica) ofrece más precisión que la expansión aritmética de Bash:

`` `Bash

num1 =10.5

num2 =5.2

num3 =15.8

Greatest =$ (echo "$ num1> $ num2? $ num1:$ num2" | bc -l | bc -l)

Greatest =$ (echo "$ Greatest> $ num3? $ Greatest:$ num3" | BC -l)

Echo $ Greatest

`` `` ``

Este enfoque utiliza `BC -L` (con la opción` -L` para funciones de la biblioteca de matemáticas) para comparaciones y cálculos de puntos flotantes. El doble uso de `BC` es manejar el ternario anidado de manera efectiva, ya que` BC` no admite directamente las expresiones ternarias anidadas de la misma manera que la bash lo hace.

4. Función en bash:

Para la reutilización, cree una función BASH:

`` `Bash

Greatest_of_three () {

num1 =$ 1

num2 =$ 2

num3 =$ 3

Greatest =$ ((num1> num2? num1:num2))

Greatest =$ ((((más grande> NUM3? Greatest:num3))

Echo $ Greatest

}

Echo $ (Greatest_of_three 10 20 15) # Salida:20

`` `` ``

Esta función toma tres argumentos y devuelve el mejor.

Recuerde reemplazar los números de ejemplo con sus valores reales. Elija el método que mejor se adapte a sus necesidades y al estilo de codificación. La solución 'AWK` generalmente se prefiere por su brevedad y eficiencia si se trata de enteros, mientras que el enfoque' BC` es necesario para los números de punto flotante. La función bash proporciona una mejor organización de código para escenarios más complejos.

unix
¿Cuál es el comando para recuperar los primeros 10 registros en un archivo Unix?
¿Qué es el sistema Manning de propósito general?
¿Quién es el dueño de Unix?
¿Cuál es la diferencia entre UNIX 95 y 98?
¿Qué es TOSS en Linux?
Cómo buscar en un archivo Unix en Hex
¿Cuál es el propósito del comando RD en la interfaz de línea?
¿Cómo se mueve un archivo en UNIX usando el direccionamiento relativo?
Conocimiento de la computadora © http://www.ordenador.online