Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
56
Task/XML-Input/AWK/xml-input-1.awk
Normal file
56
Task/XML-Input/AWK/xml-input-1.awk
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
function parse_buf()
|
||||
{
|
||||
if ( match(buffer, /<Student[ \t]+[^>]*Name[ \t]*=[ \t]*"([^"]*)"/, mt) != 0 ) {
|
||||
students[mt[1]] = 1
|
||||
}
|
||||
buffer = ""
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
FS=""
|
||||
mode = 0
|
||||
buffer = ""
|
||||
li = 1
|
||||
}
|
||||
|
||||
mode==1 {
|
||||
for(i=1; i <= NF; i++) {
|
||||
buffer = buffer $i
|
||||
if ( $i == ">" ) {
|
||||
mode = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( mode == 0 ) {
|
||||
li = i
|
||||
} else {
|
||||
li = 1
|
||||
}
|
||||
# let us process the buffer if "complete"
|
||||
if ( mode == 0 ) {
|
||||
parse_buf()
|
||||
}
|
||||
}
|
||||
|
||||
mode==0 {
|
||||
for(i=li; i <= NF; i++) {
|
||||
if ( $i == "<" ) {
|
||||
mode = 1
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(j=i; i <= NF; i++) {
|
||||
buffer = buffer $i
|
||||
if ( $i == ">" ) {
|
||||
mode = 0
|
||||
parse_buf()
|
||||
}
|
||||
}
|
||||
li = 1
|
||||
}
|
||||
|
||||
END {
|
||||
for(k in students) {
|
||||
print k
|
||||
}
|
||||
}
|
||||
4
Task/XML-Input/AWK/xml-input-2.awk
Normal file
4
Task/XML-Input/AWK/xml-input-2.awk
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
awk -f getXML.awk sample.xml | awk '
|
||||
$1 == "TAG" {tag = $2}
|
||||
tag == "Student" && /Name=/ {print substr($0, index($0, "=") + 1)}
|
||||
'
|
||||
5
Task/XML-Input/AWK/xml-input-3.awk
Normal file
5
Task/XML-Input/AWK/xml-input-3.awk
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
gawk -f xmlparser.awk sample.xml | awk '
|
||||
$1 == "begin" {tag = $2}
|
||||
$1 == "attrib" {attrib = $2}
|
||||
$1 == "value" && tag == "STUDENT" && attrib == "name" {print $2}
|
||||
'
|
||||
Loading…
Add table
Add a link
Reference in a new issue