![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| split string använder separetor | rinku | Shell-programmering och Skript | 10 | 06-16-2009 03:01 |
| [Ksh] Split string i array | piooooter | Shell-programmering och Skript | 3 | 09-01-2007 01:22 |
| Ksh split string i variabler | drd_2b | Shell-programmering och Skript | 5 | 04-23-2006 08:07 |
| split string hjälp | senthilk615 | Shell-programmering och Skript | 4 | 03-27-2006 07:43 |
| dela upp en fil i en angiven sträng | jpl35 | Shell-programmering och Skript | 6 | 07-04-2002 12:41 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
dela upp en sträng
Hej
Jag har ett script som loopar om raderna i en fil och läser varje rad i en variabel ($ line). Jag vill titta på linjen och dela upp det i den konstituerande delar. t.ex. en linje kan vara "Detta är en sträng" Jag vill då ha variabler som till varje element på följande sätt: A \u003d Denna B \u003d är C \u003d en D \u003d string Jag gissar att det borde vara enkelt men kan inte lista ut det. |
|
||||
|
Kod:
while read a b c d e f
do
echo "a = $a"
echo "b = $b"
echo "c = $c"
echo "d = $d"
echo "e = $e"
echo "f = $f"
done < myfile
Lägg till så många variabler som största möjliga antal ord i en linje. Annars anser awk som gör allt detta automatiskt. |
|
||||
|
om du behöver awk beror på vad du vill efter uppdraget. Om du vill att den variabla utanför awk uttalandet kanske använda awk får inte vara till stor hjälp. Men i situationer där du behöver bearbeta data, är detta sällan fallet --- kan du göra allt du vill ha inne awk.
awk '(for (i \u003d 1, i <\u003d NF; + + i) (print "Field" i "är" $ i) print "")' filnamn till exempel skriver ut alla områden, i alla rader i filen |