INPUT_FILE=/dev/stdin
OUTPUT_FILE=/dev/stdout
cat $INPUT_FILE | \
gawk '
function is_inline_tag(str, aux, val)
{
for(val in INLINETAGS)
{
aux = INLINETAGS[val] "";
if(gsub(aux, aux, str) == 1)
{
return 1;
}
}
return 0;
}
BEGIN{
RS="";
INLINETAGS[1]="";
INLINETAGS[2]="";
INLINETAGS[3]="";
}
{
MYRECORD[++nline] = $0;
}
END{
for(i=1; i < nline; i++)
{
if(gsub("", "", MYRECORD[i]) == 1)
{
if(is_inline_tag(MYRECORD[i]))
{
printf("%s", MYRECORD[i]);
}
else
{
printf("%s", MYRECORD[i]);
}
}
else
{
printf("%s", MYRECORD[i]);
}
}
printf("%s", MYRECORD[nline]);
}' > $OUTPUT_FILE