Um hack rápido com perl:
perl -wlne 'print for(/<.*?>/g)' file.html
Mas, para uma solução séria, você deve usar uma ferramenta que realmente entenda html / xml.
Eu quero saber se existe uma maneira de listar todas as tags html em um arquivo.
Vamos dizer que eu tenho um arquivo file.html
<html>
<head>
<title>Test</title>
</head>
<body>
This is a test
</body>
</html>
E eu quero obter uma lista de todas as tags. Isso é:
<html>
<head>
<title>
</title>
</head>
<body>
</body>
</html>
Eu tentei usar sed
cat file.html | sed 's/<[^>]*>//g'
Mas removeu todas as tags html criadas. . . .
Usar um analisador html real não é tão difícil:
perl -MHTML::Parser -E '
$handler = sub {say "<".shift.">"};
HTML::Parser->new(start_h => [$handler,"tag"], end_h => [$handler,"tag"])
->parse_file(shift @ARGV)
' file.html
<html>
<head>
<title>
</title>
</head>
<body>
</body>
</html>