从 Unicode html 文件中删除第一行

从 Unicode html 文件中删除第一行

我有一个 UTF-8 格式的 HTML 文件,我想删除其中的前五行。

我尝试过使用sed但在这种情况下它不起作用:

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

它实际上适用于其他文件,但在这里不行。我无法使用,tail因为它从文件末尾删除,并且该网站以后可能会更改。

这是我的文件

    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" /> 

文件链接:4shared.com/document/U8yRa19I/Result.html 这是 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

答案1

我无法访问您的文件,所以我无法测试这个,但其中一个应该可以工作:

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

如果它们不起作用,我怀疑是编码问题,可能有一些奇怪的字符搞乱了。尝试传递您的文件以od检查:

od -c Result.html | more

更新:

我看到输出中od -c有 mac 风格的行以回车符 (\r) 结尾,而不是以换行符 (\n) 结尾。因此,请尝试将其更改为 \n,然后再次运行 sed 或其他命令之一:

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

另外,请发布您的文件,以便我们访问并亲自尝试。这将大大加快进程。您链接的服务要求我们获得一个帐户。

相关内容