Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

UNIX-Shell Scripting: Nur die ersten acht zeichen ausgeben >

Hurr][canE / 2 Antworten / Baumansicht Nickles

Halli Halli!

Meiner einer hat ein klitzekleines Problem:
Ich schreibe
read var1
und hätte aber nun gerne - egal was ich bei read eingebe - NUR die ersten acht Zeichen!
(Bsp: ich gebe "0123456789.gnu" ein und möchte, dass die Variable, die ich dann weiter verwende nur "01234567" ist!)
Wie mach ich das (am einfachsten)?

Vielen Dank im Voraus!

Hurr][canE

bei Antwort benachrichtigen
Hurr][canE Nachtrag zu: „UNIX-Shell Scripting: Nur die ersten acht zeichen ausgeben >“
Optionen

södele.. für alle, die so ein Ähnliches Problem haben, hier nun mein Quelltext:

read Var1
set -A Var1 $(echo "$Var1" | cut -b1-8)
Var1=$Var1[1]
echo "$Var1"

sieht doch schön aus, oda? :-) Der Experte würde sagen: NEIN! da kann noch ne Zeile weniger hin! warum Anchorn, wenn man kein schiff hat?

read Var1
Var1=$(echo "$Var1" | cut -b1-8)
echo "$Var1"

und siehe da... es klappt! *freude*

Danke trotzdem...

Hurr][canE

bei Antwort benachrichtigen
Uli M Hurr][canE „UNIX-Shell Scripting: Nur die ersten acht zeichen ausgeben >“
Optionen

Für kompliziertere Fälle verwende z.B. awk, soweit vorhanden. Ansonsten kannst du auch Kommando-Substitution verwenden (``).

bei Antwort benachrichtigen