Exclui as primeiras linhas de um arquivo html Unicode

2

Eu tenho um arquivo HTML no formato UTF-8 e desejo remover as cinco primeiras linhas dele.

Eu tentei usar sed , mas não funciona neste caso:

sed  "1,5d" Result.html>small2

Na verdade, funciona para outros arquivos, mas não aqui. Eu não posso usar tail porque ele remove do final do arquivo, e o site pode ser alterado mais tarde.

este é o meu arquivo

    HTTP/1.1 200 OK
    Cache-Control: private
    Content-Length: 176073
    Content-Type: text/html; charset=utf-8
    Server: Microsoft-IIS/7.5
    X-AspNet-Version: 4.0.30319
    Set-Cookie: ASP.NET_SessionId=jaq52r5vsd04zvffokbutu1q; path=/; HttpOnly
    X-Powered-By: ASP.NET
    Date: Thu, 29 Nov 2012 06:41:59 GMT
    Connection: close

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

o link do arquivo: 4shared.com/document/U8yRa19I/Result.html aqui está o resultado od -c Result.html:

0000000   H   T   T   P   /   1   .   1       2   0   0       O   K  \r
0000020       C   a   c   h   e   -   C   o   n   t   r   o   l   :    
0000040   p   r   i   v   a   t   e  \r       C   o   n   t   e   n   t
0000060   -   L   e   n   g   t   h   :       1   7   6   0   7   3  \r
0000100       C   o   n   t   e   n   t   -   T   y   p   e   :       t
0000120   e   x   t   /   h   t   m   l   ;       c   h   a   r   s   e
0000140   t   =   u   t   f   -   8  \r       S   e   r   v   e   r   :
0000160       M   i   c   r   o   s   o   f   t   -   I   I   S   /   7
0000200   .   5  \r       X   -   A   s   p   N   e   t   -   V   e   r
0000220   s   i   o   n   :       4   .   0   .   3   0   3   1   9  \r
0000240       S   e   t   -   C   o   o   k   i   e   :       A   S   P
0000260   .   N   E   T   _   S   e   s   s   i   o   n   I   d   =   j
0000300   a   q   5   2   r   5   v   s   d   0   4   z   v   f   f   o
0000320   k   b   u   t   u   1   q   ;       p   a   t   h   =   /   ;
0000340       H   t   t   p   O   n   l   y  \r       X   -   P   o   w
0000360   e   r   e   d   -   B   y   :       A   S   P   .   N   E   T
0000400  \r       D   a   t   e   :       T   h   u   ,       2   9    
0000420   N   o   v       2   0   1   2       0   6   :   4   1   :   5
0000440   9       G   M   T  \r       C   o   n   n   e   c   t   i   o
0000460   n   :       c   l   o   s   e  \r      \r
    
por Arash 29.11.2012 / 07:28

1 resposta

1

Não consigo acessar seu arquivo, portanto não posso testar isso, mas um deles deve funcionar:

gawk 'NR>5' Result.html>small2
perl -ne 'print if $.>5' Result.html>small2

Se eles não funcionam, duvido que seja um problema com a codificação, você pode ter alguns caracteres estranhos estragando tudo. tente passar seu arquivo através de od para verificar:

od -c Result.html | more

ATUALIZAÇÃO:

Eu vejo na saída de od -c que você tem linhas no estilo mac que terminam com um retorno de carro (\ r) e não um avanço de linha (\ n). Então, tente alterá-los para \ n e executar o sed ou um dos outros comandos novamente:

perl -ne 's/\r/\n/g; print' Results.html | gawk 'NR>5' > small2

Além disso, poste seu arquivo para que possamos acessá-lo e testá-lo por conta própria. Isso acelerará muito o processo. O serviço ao qual você está vinculado exige que tenhamos uma conta.

    
por 29.11.2012 / 13:50