Я написал это в оболочке среды plan9port, но она легко переносится на любой linux.
Этот фрагмент кода создает скрипт sed для восстановления ваших данных.
#!/usr/local/plan9/bin/rc
# .style1:color:#FFEFA1
cat > this.sed <<EOF
# for lines which start with .
/\./{
# strip open curly brace
s, {,:,
# store element tag
h
# skip to next line
n
}
# strip close curly brace
/}/d
# for other lines
{
# remove spaces
s, ,,g
# get rid of ; at end
s,;$,,g
# pull back in the element tag
G
# join to one line
s,\n,,
# shift element tag to the start
# sed in plan 9 is a little different
# for gnu sed, use \( \) and \+
s,(.*)(\.[^.]+$),\2\1,
# finally print something
p
}
EOF
Этот фрагмент кода запускает ваш ввод для сценария sed,
cat | sed -n -f this.sed <<EOF
.style1 {
font-size: 24px;
font-weight: bold;
color: #FFEFA1;
}
EOF
для генерации этого вывода.
.style1:font-size:24px
.style1:font-weight:bold
.style1:color:#FFEFA1
Вы можете использовать grep для нужных вам строк или "grep -v" для тех, которые вам не нужны.