The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Lesen Sie in CSV-Hash-Array? kinmak Shell Programmierung und Scripting 1 05-07-2008 11:35 AM
Wie lese ich aus txt-Datei und verwenden Sie diese als Array pinky UNIX for Dummies Questions & Answers 4 10-08-2007 01:18 AM
"Array erstellen" mit Figuren aus sring then echo-Array. rorey_breaker Shell Programmierung und Scripting 5 09-28-2007 09:42 AM
ls while read-Schleife - interne lesen Abholung falsche Eingabe dkieran Shell Programmierung und Scripting 2 05-14-2007 04:02 PM
Wie kann ich lesen Array Elemente dynamisch in bash? haisubbu UNIX for Dummies Questions & Answers 1 08-29-2006 03:19 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 07-23-2008
aoussenko aoussenko is offline
Registrierte Nutzer
  
 

Registriert seit: Mai 2008
Beiträge: 119
Wie liest man einen VaR-Wert in array

Hi
Ich brauche zum Lesen einen Wert der Variablen in Array, so dass jeder Charakter / Ziffer wird ein Array-Element, zum Beispiel:
A \u003d 147921231432545436547568678679870
Das sich ergebende Feld sollte jede Ziffer als Element.
Vielen Dank für alle Hilfe-A
  #2 (permalink)  
Old 07-23-2008
Thana thana is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 55
Es sollte eine gewisse Form von seperator zwischen den Werten
  #3 (permalink)  
Old 07-23-2008
Sivaswami's Avatar
Sivaswami Sivaswami is offline
Registrierte Nutzer
  
 

Join Date: März 2007
Ort: Indien
Beiträge: 62
Sie können mit cut-Befehl innerhalb einer Schleife.

cut-c <Position>
  #4 (permalink)  
Old 07-23-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Ort: Deutschland
Beiträge: 2285
Ja, das wäre der 1. Schritt.

Schreiben Sie zum Beispiel wie
Code:
A="842 5 2 64  24 11"
Sie können dann durchlaufen sie mit zum Beispiel
Code:
for ELE in ${A}; do
   echo "I want ${ELE] cookies!"
done
  #5 (permalink)  
Old 07-24-2008
danmero danmero is online now Forum Advisor  
  
 

Join Date: Nov 2007
Lage: 45.48-73.63
Posts: 1428
Zitat:
Zitat von aoussenko View Post
Hi
Ich brauche zum Lesen einen Wert der Variablen in Array, so dass jeder Charakter / Ziffer wird ein Array-Element, zum Beispiel:
A \u003d 147921231432545436547568678679870
Das sich ergebende Feld sollte jede Ziffer als Element.
Vielen Dank für alle Hilfe-A
Nächstes Mal verwenden Sie bitte Code-Tags.
Hier ist die Lösung bash:
Code:
$ A=147921231432545436547568678679870
$ set -- $(for i in $(seq 0 $((${#A} - 1)));do printf "%s " ${A:$i:1};done)
$ echo $*
1 4 7 9 2 1 2 3 1 4 3 2 5 4 5 4 3 6 5 4 7 5 6 8 6 7 8 6 7 9 8 7 0
... oder awk Lösung:
Code:
set -- $(awk -v v="$A" 'BEGIN{split(v,a,"");for (i=1;i<= length(v);i++) printf "%s ",a[i]}')

Zuletzt bearbeitet von danmero; am 07-24-2008 01:16 PM.. Grund: awk hinzufügen Lösung
  #6 (permalink)  
Old 07-24-2008
BMDan BMDan is offline
Registrierte Nutzer
  
 

Join Date: Jul 2008
Lage: BlackMesh Managed Hosting
Beiträge: 66
Ich mag dieses ein wenig besser als danmero Beispiel, wie es eigentlich heißt es in einem Array:

Code:
for i in $(seq 0 $((${#string}-1))); do array[$i]=${string:$i:1}; done
Welche produziert:

Code:
$ A=147921231432545436547568678679870; for i in $(seq 0 $((${#A}-1))); do array[$i]=${A:$i:1}; done

$ set | grep array
array=([0]="1" [1]="4" [2]="7" [3]="9" [4]="2" [5]="1" [6]="2" [7]="3" [8]="1" [9]="4" [10]="3" [11]="2" [12]="5" [13]="4" [14]="5" [15]="4" [16]="3" [17]="6" [18]="5" [19]="4" [20]="7" [21]="5" [22]="6" [23]="8" [24]="6" [25]="7" [26]="8" [27]="6" [28]="7" [29]="9" [30]="8" [31]="7" [32]="0" [33]="")
Beachten Sie, dass dies nicht für besonders große Strings, nur aus dem für eine Weile und die Nutzung (oder ein C-Stil ()) statt.

Wenn das, was Sie suchen, können Sie auch die gleiche Wirkung wie das Skript mit danmero sed:
Code:
$ echo 147921231432545436547568678679870 | sed 's/\(.\)/\1 /g'
1 4 7 9 2 1 2 3 1 4 3 2 5 4 5 4 3 6 5 4 7 5 6 8 6 7 8 6 7 9 8 7 0

Zuletzt bearbeitet von BMDan; am 07-24-2008 03:09 PM.. Grund: In sed Lösung
  #7 (permalink)  
Old 07-24-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 2875
Mit Z-Shell:

Code:
zsh-4.3.4% A=147921231432545436547568678679870
zsh-4.3.4% print $A[4]
9
zsh-4.3.4% print $A[-3]
8
Mit bash/ksh93, hier String und fach:

Code:
$ a=($(fold -w1<<<$A))
$ printf "%s\n" "${a[0]}"
1
$ printf "%s\n" "${a[3]}"
9
Für ältere Tanks:

Code:
$ A=147921231432545436547568678679870
$ set -- `printf "%s\n" "$A"|fold -w1`
$ printf "%s\n" "$1"
1
$ printf "%s\n" "$4"
9
Closed Thread

Lesezeichen

Tags
Shell-Array, Variable Manipulation

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 02:20 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0