LINUX.ORG.RU

История изменений

Исправление Stanson, (текущая версия) :

Бгг. И тут выясняется, что это «псевдо-xml». :)

Так парси тем же шеллом этот псевдо-xml и там уже разбирайся с нужными тебе элементами.

Тупой парсер xml и подобных на шелле достаточно легко делается:

$ cat xmlparse.sh 
#!/bin/sh

rdom () { local IFS=\> ; read -d \< T V ; }

while rdom; do
    case $T in
        /* | \?* )
            ;;
        *)
            V=`echo "$V" | xargs`
            [ "$V" != "" ] && {
                echo $T \"$V\"
            }
            ;;
    esac
done

Вместо echo $T \«$V\» напиши свою обработку нужных тебе тегов, или в варианты case добавь нужные тэги, да и всё.

Исправление Stanson, :

Бгг. И тут выясняется, что это «псевдо-xml». :)

Так парси тем же шеллом этот псевдо-xml и там уже разбирайся с нужными тебе элементами.

Тупой парсер xml и подобных на шелле достаточно легко делается:

$ cat xmlparse.sh 
#!/bin/sh

rdom () { local IFS=\> ; read -d \< T V ; }

while rdom; do
    case $T in
        /* | \?* )
            ;;
        *)
            V=`echo "$V" | xargs`
            [ "$V" != "" ] && {
                echo $T \"$V\"
            }
            ;;
    esac
done

Вместо echo $T \«$V\» напиши свою обработку нужных тебе тегов, да и всё.

Исходная версия Stanson, :

Так парси тем же шеллом этот псевдо-xml и там уже разбирайся с элементами.

Тупой парсер xml и подобных на шелле достаточно легко делается:

$ cat xmlparse.sh 
#!/bin/sh

rdom () { local IFS=\> ; read -d \< T V ; }

while rdom; do
    case $T in
        /* | \?* )
            ;;
        *)
            V=`echo "$V" | xargs`
            [ "$V" != "" ] && {
                echo $T \"$V\"
            }
            ;;
    esac
done

Вместо echo $T \«$V\» напиши свою обработку нужных тебе тегов, да и всё.