Isso funciona no meu Debian:
sed '1 ! s/^\[/\x00\[/g' | sort -z | tr -d "sed '1 ! s/^\[/\x00\[/g' | sort -z | tr -d "%pre%"
"
Para trabalhar com arquivo (s), use redirecionamento (s), por exemplo. { sed … ; } <input.txt >output.txt
, em que sed …
é o comando inteiro.
O procedimento é o seguinte:
-
sed
insere um caractere nulo antes de cada[
que está no início de uma linha, a menos que a linha seja a primeira. Desta forma, os caracteres nulos separam os perfis. -
sort -z
usa esses caracteres nulos como separadores, então classifica perfis inteiros, não linhas separadas. -
tr
exclui caracteres nulos.