Benutzer-Werkzeuge

Webseiten-Werkzeuge


bash

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
bash [2024-04-27 16:56:42] – [while ohne sub-shell] manfredbash [2025-08-31 22:08:18] (aktuell) – [Zahlen von eine Basis in eine andere Basis umrechnen] manfred
Zeile 338: Zeile 338:
   > echo "l(8)/l(2)" | bc -l   > echo "l(8)/l(2)" | bc -l
   3.00000000000000000002   3.00000000000000000002
 +
 +  > echo "a=1; b=2; c=3; print \"a=\", a, \" b=\", b, \" c=\", c; print \"\nSumme:\", a + b + c;print \"\n\""
 +  a=1; b=2; c=3; print "a=", a, " b=", b, " c=", c; print "\nSumme:", a + b + c;print "\n"
 +  
 +  > echo "a=1; b=2; c=3; print \"a=\", a, \" b=\", b, \" c=\", c; print \"\nSumme:\", a + b + c;print \"\n\"" | bc -lq
 +  a=1 b=2 c=3
 +  Summe:6
 +
 +
 +=== Zahlen von eine Basis in eine andere Basis umrechnen ===
 +
 +  ibase = In welcher Basis verstehe ich deine Eingaben?
 +  obase = In welcher Basis soll ich die Ergebnisse ausgeben?
 +
 +  > echo "ibase=10; obase=2; 255" | bc
 +  11111111
 +
 +  > echo "255" | sed "s/.*/ibase=10; obase=2; &/" | bc
 +  11111111
 +
 +  > vim calc.bc
 +  ibase=10;
 +  obase=2;
 +  
 +  > echo "255" | bc calc.bc
 +  11111111
 +
 +<code c Zahlenbasis.bc>
 +obase = read();
 +n = read();
 +print n;
 +print "\n"
 +</code>
 +
 +<code bash>
 +> for BASIS in 2 3 5 7 8 12 16; do echo "${BASIS} 123" | tr ' ' '\n' | bc -q ./Zahlenbasis.bc; done
 +1111011
 +11120
 +443
 +234
 +173
 +A3
 +7B
 +</code>
  
  
Zeile 819: Zeile 863:
 </code> </code>
  
-Oder man wählt die FOR-Schleife, muß dann aber den ''IFS'' verbiegen:+Oder man wählt die FOR-Schleife, dann muß man aber den ''IFS'' verbiegen, um Dateien mit Leerzeichen verarbeiten zu können:
 <code bash> <code bash>
 #!/usr/bin/env bash #!/usr/bin/env bash
  
-# funktioniert, wie erwartet, aber nur mit verbogenem IFS+# funktioniert, wie erwartet, aber Dateien mit Leerzeichen kann man so nur mit verbogenem IFS verarbeiten
  
 IFS=$'\n' IFS=$'\n'
Zeile 1084: Zeile 1128:
   > echo ${#ARRAY[2]}   > echo ${#ARRAY[2]}
   255   255
 +
 +  > arrayLaenge=${#ARRAY[@]}
 +  > echo "Das Array enthält '${arrayLaenge}' Elemente."
 +  Das Array enthält '3' Elemente.
  
   > testarray=($(find Videos/ -type f))   > testarray=($(find Videos/ -type f))
/home/http/wiki/data/attic/bash.1714237002.txt · Zuletzt geändert: von manfred