Extracting Data between Tags with square Brackets


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extracting Data between Tags with square Brackets
# 1  
Old 11-06-2011
Question Extracting Data between Tags with square Brackets

Hello @all,

first, sorry for my bad english language.
I try to extract with bash an text inside of a html page witch is finding between two tags. There is only one [ARRAY] Tag in this file. Here is an example:
Code:
[ARRAY]Wert | 53,6| 22,3| 35,5| 49,8| 40,2| 43,8| 48,0| 53,9| 35,6 | 40,2|  9,6|   59|   80|AUS|AUS|AUS|x |x |x |x |x |x |x |x |x |x |x |Schaltzust�nde|EIN|EIN|AUS|EIN|AUS|EIN|AUS |AUS|EIN|EIN|EIN|AUS|AUS|x |x |x |x |x |x |x |x |x |x |x |x |x |x |x |x |
Anlage2 Wert |AUS|AUS|AUS|AUS|AUS|AUS|AUS|AUS|AUS |AUS|AUS|AUS|AUS|AUS|AUS|AUS|x |x |x |x |x |x |x |x |x |x |x|Schaltzust�nde|AUS|AUS|AUS|AUS|AUS|AUS|AUS|AUS|AUS |AUS|AUS|AUS|AUS|x |x |x |x |x |x |x |x |x |x |x |x |x |x |x |x [/ARRAY]

I have succeeded it with the following code on the commanline:
Code:
hennerich@test-vm:/home/hennerich# cat website.htm | awk 'NR==2{print $1}' RS=[ FS=[

Only in my bash script, i have tryed the following:
Code:
#!/bin/bash

# wget Download File
URL="http://mywebspace/website.htm"

# Variable mit wget füllen
HTML=$(wget -qO- $URL)

# ARRAY Tags entfernen
# STRING="$(sed -e "o,/\[ARRAY\]/d" -e "0,/\[\/ARRAY\]/d" -i < $HTML)" -> does not work

# ARRAY Tags entfernen #2
# STRING=$(echo "$HTML" | awk 'NR==2{print $1}' RS=] FS=[) -> does not work to

In the next step i will delete all spaces and html code like $nbsp; in the STRING an finaly i need to separate alle Data between the pipes in the cleaned STRING:
Code:
[ARRAY]Wert|53,6|22,3|35,5|49,8|40,2|43,8|48,0|53,9|35,6|40,2|9,6|59|80|AUS|AUS|AUS|x |x |x |x |x |x |x |x |x |x |x |Schaltzust�nde|EIN|EIN|AUS|EIN|AUS|EIN|AUS |AUS|EIN|EIN|EIN|AUS|AUS|x |x |x |x |x |x |x |x |x |x |x |x |x |x |x |x | Anlage2 Wert |AUS|AUS|AUS|AUS|AUS|AUS|AUS|AUS|AUS |AUS|AUS|AUS|AUS|AUS|AUS|AUS|x |x |x |x |x |x |x |x |x |x |x|Schaltzust�nde|AUS|AUS|AUS|AUS|AUS|AUS|AUS|AUS|AUS |AUS|AUS|AUS|AUS|x |x |x |x |x |x |x |x |x |x |x |x |x |x |x |x [/ARRAY]

and declare it as new variables. The result will show as ...:
Code:
$wert1 #content is 53,6
$wert2 #content is 22,3
$wert3 ...
$wertn ...

Have you any idea how i can realize this project.
Thank you very much for your help and ideas!

Greetings
hennerich
# 2  
Old 11-07-2011
Here is the first step:
Code:
sed -e 's/\[ARRAY\]//' -e 's/\[\/ARRAY\]//' -e 's/&nbsp;//g' Inp_File

# 3  
Old 11-11-2011
Hi Shell_Life,

thank you very much and sorry for my late answer.
I will try this an give you a feedback.

hennerich
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

IF statement with square brackets

Hi All, Hope you all are doing good. Yesterday in my project i came across a scenario which i can not guess why it was working in one region and why it was not in another region. Please find my issue below. I am using AIX version 6.0 of UNIX in my project, in shell scripting i have the... (1 Reply)
Discussion started by: mad man
1 Replies

2. Shell Programming and Scripting

Problem with occurence of square brackets

Hello all, I have the following problem: $ cat infile this is spam and i need this too this is spam and i need this too $ perl -nwe '$_ =~ /]+ \]+)\]\]*\]? (\+)$/; print "$1 - $2\n";' infile i need this - too i need this - and i need this too I am not sure how many occurences of... (13 Replies)
Discussion started by: zaxxon
13 Replies

3. Shell Programming and Scripting

Compare the value in between square brackets in file

I wanted to compare the value inside the Squre bracket after Colon ( : ) based on any value(seperated by or operator | ) inside the variable Thread and if match found then wnated to store in output file Input file : 20140320 00:08:43.918 INO 35] - Corporate hub is 20140320 00:08:43.918... (2 Replies)
Discussion started by: nes
2 Replies

4. UNIX for Dummies Questions & Answers

Single or double square brackets

Hi frieds, I don't understand the difference between single square bracket and double square brackets in a IF condition. Ex. if ; then RETURNJOB=1 else RETURNJOB=0 fi It run, but this if ]; then RETURNJOB=1 else RETURNJOB=0 fi (4 Replies)
Discussion started by: dogshort
4 Replies

5. Shell Programming and Scripting

Delete text between square brackets and also delete those square brackets using sed or awk

Hi All, I have a text file which looks like this: computer programming systems engineering I want to get rid of these square brackets and also the text that is inside these brackets. So that my final text file looks like this: computer programming systems engineering I am using... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

6. UNIX for Dummies Questions & Answers

Test command - Two square brackets

Hello, Can someone please explain to me the following line, ] && break I do not understand why two test square brackets are used. Thanks, Shantanu ---------- Post updated at 03:38 PM ---------- Previous update was at 03:35 PM ---------- And, also why there's a $ before (echo $c |... (5 Replies)
Discussion started by: Shan_u2005
5 Replies

7. Shell Programming and Scripting

Double square brackets question

Hi, I just came across an interesting shell script syntax like the one below: ] && (trap 'rm -rf ${WORK_DIR}/*.$$; echo "\n\nInterrupted !!\n\n"; exit 4' 1 2 3 15) Can someone please explain the code snippet above? The trap command bit is fine but ] && is the hazy part. Generally we use an... (2 Replies)
Discussion started by: King Nothing
2 Replies

8. Shell Programming and Scripting

Use of double square brackets in ksh

Hi First apologies if this has been raised before. I've got the following in a ksh script: if ] For some reason this does not work. But if I remove the double square brackets to: if This works. I thought ksh supported the ]. Or is there more to it? Thanks in advance. (3 Replies)
Discussion started by: tsu3000
3 Replies

9. Shell Programming and Scripting

WHy the double square brackets?

One of the senior administrators gave me a shell script to modify and it begins as follows: if ] && ] {more code follows} Why the double square brackets? (10 Replies)
Discussion started by: mojoman
10 Replies

10. UNIX for Dummies Questions & Answers

square brackets

I would like to substitute a phrase which contains square brackets. change TO how? Thanks (2 Replies)
Discussion started by: gilead29
2 Replies
Login or Register to Ask a Question