免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2062 | 回复: 9
打印 上一主题 下一主题

怎么去掉一个文本文件的前2行? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-12 10:31 |只看该作者 |倒序浏览
怎么去掉一个文本文件的前2行?
由于文件很大,300多兆,我采用 sed -e  "1,2d" test.txt  命令不行,还有别的办法么?

论坛徽章:
0
2 [报告]
发表于 2007-01-12 10:47 |只看该作者
先用split分割成小文件,去掉第一个分割文件的前两行后再合并

论坛徽章:
0
3 [报告]
发表于 2007-01-12 11:41 |只看该作者
原帖由 guailong 于 2007-1-12 10:31 发表
怎么去掉一个文本文件的前2行?
由于文件很大,300多兆,我采用 sed -e  "1,2d" test.txt  命令不行,还有别的办法么?


怎么个不行法呢?为什么要加个-e呢?

论坛徽章:
0
4 [报告]
发表于 2007-01-12 12:21 |只看该作者

申请加精

tail +3 test.txt

论坛徽章:
0
5 [报告]
发表于 2007-01-12 12:55 |只看该作者
sed -n 3,/noword/p

论坛徽章:
0
6 [报告]
发表于 2007-01-12 13:57 |只看该作者
  1. v_FileName=a
  2. v_Lines=2
  3. off=$(( $(ls -l ${v_FileName} |awk '{ print $5; }') - $(head -${v_Lines} ${v_FileName} |wc -c) ))
  4. { head -${v_Lines} <&3; dd <&3 >&4; } 3<${v_FileName} 4<>${v_FileName}
  5. dd of=${v_FileName} obs=$off seek=1 if=/dev/null
复制代码

最后一行修改成这样,或许容易更理解:
dd of=${v_FileName} bs=1 seek=$off count=0


*** 这种方法需要 gnu dd ***

[ 本帖最后由 awk就是awp加ak 于 2007-1-12 15:32 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2007-01-12 14:18 |只看该作者
sed,awk,都应该可以的呀~, 300M的文件不算太大吧~, 搜一下精华区吧~,有关于处理巨大文件的贴子

论坛徽章:
0
8 [报告]
发表于 2007-01-12 18:34 |只看该作者
原帖由 guailong 于 2007-1-12 10:31 发表
怎么去掉一个文本文件的前2行?
由于文件很大,300多兆,我采用 sed -e  "1,2d" test.txt  命令不行,还有别的办法么?



awk 'NR > 2' file > file.1   应该飞快吧

论坛徽章:
0
9 [报告]
发表于 2007-01-15 11:26 |只看该作者
awk 默认会为文件分割不同的 column,就是 $1, $2 ... 之类的咚咚。
无端增加不必要的开销。

sed -e '1, 2d' 应该不成问题吧。楼主还是把出错信息贴出来的好。

论坛徽章:
0
10 [报告]
发表于 2007-01-15 11:38 |只看该作者
看这个
http://bbs.chinaunix.net/viewthr ... &extra=page%3D1
我已经将一梦如是写的脚本拿出来重新学习了,这个效率很高。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP