Extract specific text from variable and put it into array
Dear community,
I have to do something too hard for me . I hope you can help me.
This is an output coming from Oracle query, stored in a file called query.out, there are many rows, but I read them, one by one, using while/read/done. Assuming each row is contained into $line variable that are valued as:
Thanks rajkumarin, this works to extract the right value, but extract all the values and not in uniquely way. Plus, is it possibile to "sed" a variable instead of file (text)?
Code:
# sed 's/;/\n/g' text | sed 's/\[/\n\[/g' | grep -v '^\[' | sed 's/^ *//'
1234
54321
1234
8888
77777
8888
@elixir sinary, you are the master!!! All in one row!!!
Just a stupid question (I know), how can I put the result values into an array?
I can redirect the result to another tmp file and then read it row by row, but I prefer to use an array to read with a for cycle...
line='1234[12345678=3]; 54321[98765432=3]; 1234[57382939=3]; 8888[984903020=3]; 77777[0583758738=3]; 8888[670986767=3]'
arr=($(echo "$line"|awk -F\; '{for(i=1;i<=NF;i++) if(!c[$i+0]++) print $i+0}'))
for i in "${arr[@]}"
do
echo "I AM " $i
done
Last edited by elixir_sinari; 09-08-2012 at 04:19 AM..
This User Gave Thanks to elixir_sinari For This Post:
This is part of a larger script where I need to pass only 1 line of a file to the script, based on a variable and not a direct reference.
As part of a for loop :
# for((line=0;line<50;line++)); do
# awk ‘NR==$line' PhraseList.txt; done
... (5 Replies)
Hi
This is my first post and I'm just a beginner. So please be nice to me.
I have a couple of html files where a pattern beginning with "http://www.site.com" and ending with "/resource.dat" is present on every 241st line. How do I extract this to a new text file?
I have tried sed -n 241,241p... (13 Replies)
I have a text file that has many lines, and for each line I need to extract different sections of text, then write several variables from the data.
I can split out the various sections by selecting their position on each line as the column sizes will never vary.
A sample of my text file is below... (2 Replies)
Hi,
I have a No Delimiter variable length text file with following schema -
Column Name Data length
Firstname 5
Lastname 5
age 3
phoneno1 10
phoneno2 10
phoneno3 10
sample data - ... (16 Replies)
Hi Everyone,
#!/usr/bin/perl
use strict;
use warnings;
my @test=("a;b;qqq;c;d","a;b;ggg;c;d","a;b;qqq;c;d");
would like to split the @test array into two array:
@test1=(("a;b;qqq;c;d","a;b;qqq;c;d"); and @test2=("a;b;ggg;c;d");
means search for 3rd filed.
Thanks
find the... (0 Replies)
I'm trying to take the output of an environment that has multiple strings
ex.
# echo $SSH_CLIENT
192.168.1.1 57039 22
I need that IP... so I can set it to another environment.
Thank you (3 Replies)
I have a text wich looks like this:
clid=2 cid=6 client_database_id=35 client_nickname=Peter client_type=0|clid=3 cid=22 client_database_id=57 client_nickname=Paul client_type=0|clid=5 cid=22 client_database_id=7 client_nickname=Mary client_type=0|clid=6 cid=22 client_database_id=6... (3 Replies)
I regularly extract lines of text from files based on the presence of a particular keyword; I place the extracted lines into another text file. This takes about 2 hours to complete using the "sort" command then Kate's find & highlight facility.
I've been reading the forum & googling and can find... (4 Replies)
Hi
I want to extract certain text between two line numbers like
23234234324 and
54446655567567
How do I do this with a simple sed or awk command?
Thank you.
---------- Post updated at 06:16 PM ---------- Previous update was at 05:55 PM ----------
found it:
sed -n '#1,#2p'... (1 Reply)