Sponsored Content
Top Forums Shell Programming and Scripting Construct Array from String seperated by different whitespaces Post 303038947 by mohtashims on Wednesday 18th of September 2019 05:45:14 AM
Old 09-18-2019
Construct Array from String seperated by different whitespaces

My string variable which gets the output from the result of a database query has values as below:

Code:
line="2019-09-11 15:17:55 CR1234 anonymous       Deployed        DR_only        Back_APP"

I wish to construct an array (my_array) which should have entries as below.

Quote:
my_array[0]=2019-09-11 15:17:55
my_array[1]=CR1234
my_array[2]=anonymous
my_array[3]=Deployed
my_array[4]=DR_only
my_array[5]=Back_APP
Note:
1. The first two strings seperated by whitespace combines to be the first element of the array.
2. Not all white spaces between the strings are the same.

Below code code does not split all the elements of the string as desired.

Code:
      IFS=$' ' read -ra my_array <<< "$line"
      #Print the split string
      for i in "${my_array[@]}"
      do
         echo $i
      done

Can you please propose a viable solution ?

I m on Redhat Linux centos 7 using bash.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

To split a string to obtain the words delimited by whitespaces

Please can someone thow some light what is the best way to split a string to obtain the words delimited by whitespaces. (4 Replies)
Discussion started by: Sudhakar333
4 Replies

2. Shell Programming and Scripting

Removing blank lines from comma seperated and space seperated file.

Hi, I want to remove empty/blank lines from comma seperated and space seperated files Thanks all for help (11 Replies)
Discussion started by: pinnacle
11 Replies

3. Shell Programming and Scripting

construct a string with X number of spaces

I'd like to create a variable with the value of X number of space( no Perl please), printf seems to work, but , in following example,10 spaces becomes 1 space when assinged to a variable, Why? other solutions are welcome. $printf "=%10s=\n" = = $var=$(printf "=%10s=\n") echo... (4 Replies)
Discussion started by: honglus
4 Replies

4. Shell Programming and Scripting

Substring in string with whitespaces

hello, i have this string: variable="1234 /PARAMETER_1:text /PARAMETER_2:othertext" i tried to do expr match $variable '.*\(*\)' but i keep getting expr error i need to extract the word text... thank you (4 Replies)
Discussion started by: Aloush89
4 Replies

5. Shell Programming and Scripting

Convert comma seperated file to line seperated.

Hi, I have data like this. 1,2,3,4 Output required: 1 2 3 4 I am trying to use tr function but getting error. Help is appreciated. (6 Replies)
Discussion started by: pinnacle
6 Replies

6. 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

7. Shell Programming and Scripting

For loop; how to construct a array with variables

Hi everybody!! Here is the thing; I have a trouble in this simple situation, I'm trying to write an array with all the arguments of a command. I mean, if I have: ./mycommand.sh aa bb cc dd I need to take an array like this: myarray=(aa bb cc dd) So I use a simple for loop like this: for... (4 Replies)
Discussion started by: andresgom
4 Replies

8. OS X (Apple)

Create a bash array from a flat file of whitespaces only.

Hi guys and gals... MacBook Pro. OSX 10.13.2, default bash terminal. I have a flat file 1920 bytes in size of whitespaces only. I need to put every single whitespace character into a bash array cell. Below are two methods that work, but both are seriously ugly. The first one requires that I... (7 Replies)
Discussion started by: wisecracker
7 Replies

9. Shell Programming and Scripting

Seperated a Column from 'ESC' Character seperated file

Hi Experts I have an escape seperated fields in the unix file. And in the below format file I need to extract the first column. Please help its urgent. cat -v op.dat | head 24397028^ I want to extract the file in below format ( with only first column ) 24397028 2439707 thanks. ... (6 Replies)
Discussion started by: neha_suri06
6 Replies

10. UNIX for Beginners Questions & Answers

awk Associative Array and/or Referring to Field by String (Nonconstant String Value)

I will start with an example of what I'm trying to do and then describe how I am approaching the issue. File PS028,005 Lexeme HRS # M # PhraseType 1(1:1) 7(7) PhraseLab 501 503 ClauseType ZYq0 PS028,005 Lexeme W # L> # BNH # M #... (17 Replies)
Discussion started by: jvoot
17 Replies
UNPACK(3)								 1								 UNPACK(3)

unpack - Unpack data from binary string

SYNOPSIS
array unpack (string $format, string $data) DESCRIPTION
Unpacks from a binary string into an array according to the given $format. The unpacked data is stored in an associative array. To accomplish this you have to name the different format codes and separate them by a slash /. If a repeater argument is present, then each of the array keys will have a sequence number behind the given name. PARAMETERS
o $format - See pack(3) for an explanation of the format codes. o $data - The packed data. RETURN VALUES
Returns an associative array containing unpacked elements of binary string. CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 5.5.0 | | | | | | | Changes were made to bring this function into | | | line with Perl: The "a" code now retains trail- | | | ing NULL bytes. The "A" code now strips all | | | trailing ASCII whitespace (spaces, tabs, new- | | | lines, carriage returns, and NULL bytes). The | | | "Z" code was added for NULL-padded strings, and | | | removes trailing NULL bytes. | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 unpack(3) example <?php $binarydata = "x04x00xa0x00"; $array = unpack("cchars/nint", $binarydata); ?> The resulting array will contain the entries "chars" with value 4 and "int" with 160. Example #2 unpack(3) example with a repeater <?php $binarydata = "x04x00xa0x00"; $array = unpack("c2chars/nint", $binarydata); ?> The resulting array will contain the entries "chars1", "chars2" and "int". NOTES
Caution Note that PHP internally stores integral values as signed. If you unpack a large unsigned long and it is of the same size as PHP internally stored values the result will be a negative number even though unsigned unpacking was specified. Caution Be aware that if you do not name an element, an empty string is used. If you do not name more than one element, this means that some data is overwritten as the keys are the same such as in: Example #3 unpack(3) example with unnamed keys <?php $binarydata = "x32x42x00xa0"; $array = unpack("c2/n", $binarydata); var_dump($array); ?> The resulting array will contain the entries "1" with value 160 and "2" with 66. The first value from the c specifier is overwritten by the first value from the n specifier. SEE ALSO
pack(3). PHP Documentation Group UNPACK(3)
All times are GMT -4. The time now is 03:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy