Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 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
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue