Det finns flera tillvägagångssätt för att hitta det största av tre siffror i UNIX med olika verktyg. Här är några exempel:
1. Använda `awk`:
Detta är en kortfattad och effektiv lösning:
`` `bash
awk '{print ($ 1> $ 2? ($ 1> $ 3? $ 1:$ 3):($ 2> $ 3? $ 2:$ 3))}' <<<"10 5 15"
`` `
* `<<<" 10 5 15 "` ger de tre siffrorna som input. Byt ut dessa med dina faktiska siffror eller variabler.
* "Awk" -skriptet använder kapslade ternära operatörer för att jämföra siffrorna effektivt.
2. Använda `bash '(med aritmetisk expansion):
Detta är mer läsbart men något mindre kortfattat än "awk" -lösningen:
`` `bash
num1 =10
num2 =5
num3 =15
största =$ ((num1> num2? num1:num2))
största =$ ((största> num3? största:num3))
echo $ största
`` `
Det här skriptet jämför först `num1` och` num2` och tilldelar det större till `största '. Sedan jämförs det "största" med "num3" och uppdaterar "största" vid behov.
3. Använda `BC '(för flytande punktnummer):
Om du behöver hantera flytande punktnummer erbjuder `BC '(Basic Calculator) mer precision än bash aritmetisk expansion:
`` `bash
num1 =10.5
num2 =5.2
num3 =15,8
största =$ (echo "$ num1> $ num2? $ num1:$ num2" | bc -l | bc -l)
största =$ (echo "$ största> $ num3? $ bästa:$ num3" | bc -l)
echo $ största
`` `
Detta tillvägagångssätt använder `BC -L '(med alternativet' -l 'för matematiska biblioteksfunktioner) för jämförelser och beräkningar av flytande punkt. Den dubbla användningen av "BC" är att hantera den kapslade ternära effektivt eftersom "BC" inte direkt stöder kapslade ternära uttryck på samma sätt som bash gör.
4. Funktion i bash:
För återanvändbarhet skapar du en BASH -funktion:
`` `bash
Greatest_of_The () {
Num1 =$ 1
Num2 =$ 2
Num3 =$ 3
största =$ ((num1> num2? num1:num2))
största =$ ((största> num3? största:num3))
echo $ största
}
ECHO $ (Greatest_of_Three 10 20 15) # Output:20
`` `
Denna funktion tar tre argument och returnerar den största.
Kom ihåg att ersätta exempelnumren med dina faktiska värden. Välj den metod som bäst passar dina behov och kodningsstil. "Awk" -lösningen är i allmänhet att föredra för sin korthet och effektivitet om du har att göra med heltal, medan "BC" -metoden är nödvändig för flytande punktnummer. BASH -funktionen ger bättre kodorganisation för mer komplexa scenarier.