How to split the string value to an array?


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers How to split the string value to an array?
# 8  
Old 01-20-2020
Or so it's easier and more understandable matrix creating
Code:
declare -A store
eval store=($(awk '{for(i=1;i<=NF;i++) print "[" NR "," i "]=" $i}' $filename))


Last edited by nezabudka; 01-20-2020 at 05:21 AM..
# 9  
Old 01-21-2020
It should work the same way on both the "bash" and the "ksh93"
Code:
cat file
tom is hot
one two three
four five six

Code:
set -A store
#declare -A store
eval "store=($(awk '{for(i=1;i<=NF;i++) print "[" NR "." i "]=" $i}' file))"

print first line. you can even take ten with a margin
Code:
eval echo '${'store[1.{1..10}]}
tom is hot

revers
Code:
eval echo '${'store[1.{10..1}]}
hot is tom

output 2 columns
Code:
eval echo '${'store[{1..10}.2]}
is two five

odd lines
Code:
eval echo '${'store[{1..10..2}.{1..10}]}
tom is hot
four five six

#Change case of all first characters of the first line (only bash. I just do not know the options for ksh93)
Code:
#eval echo '${'store[1.{1..10}^]
#Tom Is Hot

print only the first characters of all values
Code:
eval echo '${'store[{1..10}.{1..10}]:0:1}
t i h o t t f f s

print only the last characters of all values
Code:
eval echo '${'store[{1..10}.{1..10}']:\(-1\)}'
#eval echo \${store[{1..10}.{1..10}]:\(-1\)} #for bash
m s t e o e r e x

leave one character in words with an odd number of letters
Code:
eval echo '${'store[{1..10}.{1..10}]//??} #for visibility replace with a plus //??/+}
m t e o e x

And here accuracy is already needed. Determine the length of each value
Code:
eval echo '${'#store[{1..3}.{1..3}]}
3 2 3 3 3 5 4 4 3

These 2 Users Gave Thanks to nezabudka For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to split a string into array?

value=malayalam # i need to store the value in an array by splitting the character #the output i need is m a l a y a l a m Please use CODE tags for output data as well as required by forum rules! (5 Replies)
Discussion started by: Meeran Rizvi
5 Replies

2. Shell Programming and Scripting

Perl split and array

Hello, I have the following code: while ($line = <fd_in>) { 126 $line = " " . $line ; 127 print "our_line:$line\n"; 128 @list = split (/\s+/, $line) ; 129 print "after_split:@list\n"; 130 print "$list\t$list\t$list\t$list\t$list\t$list$list\t\n"; 131 $len =... (2 Replies)
Discussion started by: Zam_1234
2 Replies

3. Shell Programming and Scripting

Split string into map (Associative Array)

Hi Input: { committed = 782958592; init = 805306368; max = 1051394048; used = 63456712; } Result: A map (maybe Associative Array) where I can iterate through the key/value. Something like this: for key in $map do echo key=$key value=$map done Sample output from the map: ... (2 Replies)
Discussion started by: chitech
2 Replies

4. Shell Programming and Scripting

split string into array in shell

Hi all, I want to split a string into array based on given delimiter, for example: String: "foo|bar|baz" with delimiter "|" into array: strArr to strArr with values foo, bar and baz. Thanks a lot. Roy987 (5 Replies)
Discussion started by: Roy987
5 Replies

5. Shell Programming and Scripting

PERL : Read an array and write to another array with intial string pattern checks

I have an array and two variables as below, I need to check if $datevar is present in $filename. If so, i need to replace $filename with the values in the array. I need the output inside an ARRAY How can this be done. Any help will be appreciated. Thanks in advance. (2 Replies)
Discussion started by: irudayaraj
2 Replies

6. Shell Programming and Scripting

split and making an array inside another array

I want to run an awk split on a value that has been pushed through an array and I was wondering what the syntax should be?? e.g. running time strings through an array and trying to examine just minutes: 12:25:30 10:15:13 08:55:23 awk ' NR==FNR{ ... (2 Replies)
Discussion started by: dcfargo
2 Replies

7. Shell Programming and Scripting

split variable values into array

i have these values inside variable $blah BUNGA TERATAI 3 5055 ITH 1 0 0 0 1 1 JADE TRADER 143W ITH 4 0 0 0 4 4 MOL SPLENDOR 0307A ITH 3 0 0 0 3 3 so how do I split them into array with the... (4 Replies)
Discussion started by: finalight
4 Replies

8. Shell Programming and Scripting

[KSH] Split string into array

Hi, Is there any way to convert a string into an array in KSH? In other words I want to split the string like this: STRING="one two three four" into an array of 4 values splitting on white space. The array should be similar to the one that would be created with the following command: ... (3 Replies)
Discussion started by: piooooter
3 Replies

9. Shell Programming and Scripting

How to get array to not split at spaces?

I have been working on some code for a while, that will parse a log file, look for a specified time discrepancy between entries, and then print that line +/- n other lines out to a file... #!/bin/bash file=$1 # The input log file maxTime=$2 # The time discrepancy to look for n=$3 ... (1 Reply)
Discussion started by: jjinno
1 Replies

10. Shell Programming and Scripting

split to array in perl

Collegues I have flat file in the following format. 137 (NNP Kerala) (NNP India) 92 (NN Rent) (NN Range) 70 (NNP Thiruvananthapuram) (NNP Kerala) 43 (NNP Tourist) (NNP Home) 40 (NNP Reserve) (NNP Now) 25 (SYM @) (NN hotelskerala) 25 (NNP Thiruvananthapuram-695001) (NNP Kerala) 23 (NN... (3 Replies)
Discussion started by: jaganadh
3 Replies
Login or Register to Ask a Question