#!/bin/sh # Simple XML formatter cat "$@" | tr -d '\n\r' |\ sed 's|>[ \t]*|>|g' |\ sed 's|<|\n<|g' |\ awk -v step=' ' \ ' /^<\// { s = substr(s, 1, length(s) - length(step)); } { print s $0; } /^<[^\/?]/{ if ($0 !~ /\/>/) s = s step; } '