get data


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers get data
# 1  
Old 01-19-2012
Power get data

Hi friends,

I have a large of this similiar data:

<INF n="data" z="22" />

I need to get:

data 22

please let me know if you can help!
# 2  
Old 01-19-2012
If you have them all in a file, you could try:-
Code:
cut -f2,4 -d"\"" filename | tr "\"" " "



I hope that this helps,

Robin
Liverpool/Blackburn
UK
# 3  
Old 01-19-2012
Code:
$ echo '<INF n="data" z="22" />' | awk '/<INF/ { $NF=""; $1=""; print }' | xargs -n 2 echo | while IFS=" =" read A B C D ; do echo $B $D ; done
data 22

$

# 4  
Old 01-19-2012
thanks!

Code:
cut -f2,4 -d"\"" filename | tr "\"" " "

This great coding!!!! Thanks!

Last edited by vbe; 01-20-2012 at 08:59 AM..
# 5  
Old 01-20-2012
You are welcome. Does it need an explanation (especially the backslahes) ??



Robin
# 6  
Old 01-20-2012
Robin,

I would love an explanation. Still trying to learn the commands so don't be afraid to "dumb" it down

Thanks
# 7  
Old 01-23-2012
So the code supplied:-
Code:
cut -f2,4 -d"\"" filename | tr "\"" " "

If you are not familiar then it probably looks a bit serious. We'll break it down. The vertical bar, known as a pipe mark, joins the output from one operation to the input of the next operation. In this way, you can string a number of processes together. It saves you having to write an output file with each operation to then be read in by the next. All processing happens in memory so saving the I/O effort and time.

From this, you can see you have two statements joined up. The first part reads the file filename and slices it up. The flags on the cut command give the instructions. -d tells cut what the delimiter is (how to count along fields in a record). In our case, we're counting by a " however as this is a special character to we have to mark it as such with an Escape character. The blackslash \ tells the shell not to interpret the " and just pass it as it is into the cut command. If we didn't do this, it would try to interpret the -d flag as open-double-quote, close-double-quote (so nothing), open double-quote, space, filename and then get very confused because it's only expecting a single character. You would probably get an error for ending on an open-double-quote andyway as it will be waiting for the next double-quote to make a valid statement.
The -f2,4 states that we want fields 2 & 4 only.

Slightly annoyingly, this uses the existing delimited of " to separate the fields in the output, so we pass this as input to the tr command with the pipe. The tr command is a character translator. It has two parameters in out case, a double quote and a space. It simply reads all the input then passes it as output converting every occurrence of the double quote into a space.

That is how you generate the output in the format you require.



Does that explain it properly? I've never been a good teacher, so please feel free to complain or ask more questions about it.




Robin
Liverpool/Blackburn
UK
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk --> math-operation in data-record and joining with second file data

Hi! I have a pretty complex job - at least for me! i have two csv-files with meassurement-data: fileA ...... (2 Replies)
Discussion started by: IMPe
2 Replies

2. Shell Programming and Scripting

Parsing XML (and insert data) then output data (bash / Solaris)

Hi folks I have a script I wrote that basically parses a bunch of config and xml files works out were to add in the new content then spits out the data into a new file. It all works - apart from the xml and config file format in the new file with XML files the original XML (that ends up in... (2 Replies)
Discussion started by: dfinch
2 Replies

3. Shell Programming and Scripting

Generate tabular data based on a column value from an existing data file

Hi, I have a data file with : 01/28/2012,1,1,98995 01/28/2012,1,2,7195 01/29/2012,1,1,98995 01/29/2012,1,2,7195 01/30/2012,1,1,98896 01/30/2012,1,2,7083 01/31/2012,1,1,98896 01/31/2012,1,2,7083 02/01/2012,1,1,98896 02/01/2012,1,2,7083 02/02/2012,1,1,98899 02/02/2012,1,2,7083 I... (1 Reply)
Discussion started by: himanish
1 Replies

4. Shell Programming and Scripting

Converting variable space width data into CSV data in bash

Hi All, I was wondering how I can convert each line in an input file where fields are separated by variable width spaces into a CSV file. Below is the scenario what I am looking for. My Input data in inputfile.txt 19 15657 15685 Sr2dReader 107.88 105.51... (4 Replies)
Discussion started by: vharsha
4 Replies

5. UNIX for Dummies Questions & Answers

How to get data only inside polygon created by points which is part of whole data from file?

hiii, Help me out..i have a huge set of data stored in a file.This file has has 2 columns which is latitude & longitude of a region. Now i have a program which asks for the number of points & based on this number it asks the user to enter that latitude & longitude values which are in the same... (7 Replies)
Discussion started by: reva
7 Replies

6. Shell Programming and Scripting

Extract data based on match against one column data from a long list data

My input file: data_5 Ali 422 2.00E-45 102/253 140/253 24 data_3 Abu 202 60.00E-45 12/23 140/23 28 data_1 Ahmad 256 7.00E-45 120/235 140/235 22 data_4 Aman 365 8.00E-45 15/65 140/65 20 data_10 Jones 869 9.00E-45 65/253 140/253 18... (12 Replies)
Discussion started by: patrick87
12 Replies

7. UNIX for Dummies Questions & Answers

converting a tabular format data to comma seperated data in KSH

Hi, Could anyone help me in changing a tabular format output to comma seperated file pls in K-sh. Its very urgent. E.g : username empid ------------------------ sri 123 to username,empid sri,123 Thanks, Hema:confused: (2 Replies)
Discussion started by: Hemamalini
2 Replies

8. Shell Programming and Scripting

how to verify that copied data to remote system is identical with local data.

I have created simple shell script #!/bin/sh echo `date`; echo "Start .... find . -mtime +95 -print > /tmp/files.txt for file in `cat /tmp/files.txt` do echo "copying file - $file" /usr/local/bin/scp -p -P 2222 $file remote.hostname:/file/path echo "copid file -... (3 Replies)
Discussion started by: ynilesh
3 Replies

9. UNIX for Dummies Questions & Answers

Howto capture data from rs232port andpull data into oracle database-9i automatically

Hi, i willbe very much grateful to u if u help me out.. if i simply connect pbx machine to printer by serial port RS232 then we find this view: But i want to capture this data into database automatically when the pbx is running.The table in database will contain similar to this view inthe... (1 Reply)
Discussion started by: boss
1 Replies
Login or Register to Ask a Question