免费注册 查看新帖 |

Chinaunix

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

如何删除首行和分裂文本文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-28 21:14 |只看该作者 |倒序浏览
一个目录内有csv(实则为分号分隔并非逗号分隔)为扩展名的文件15个,其中14个文件使用perl删除首行后生成同名的txt文件,剩余一个Cell.csv文件不仅要删除首行,还需将其分裂为两个文件Cell.txt和Cell2.txt,其中Cell.txt文件包含Cell.csv文件的前255列,Cell2.txt包含原Cell.csv文件的前两列和第256列至328列!

原来是在awk下做的,现在转到perl下,有些不熟悉,请赐教!

论坛徽章:
0
2 [报告]
发表于 2009-11-28 21:23 |只看该作者
内部内容和分隔符不得改变!
先谢了:联系QQ:110290428

论坛徽章:
0
3 [报告]
发表于 2009-11-28 22:51 |只看该作者
refer to 'in-place editing'

论坛徽章:
0
4 [报告]
发表于 2009-11-28 23:14 |只看该作者
谢谢,搜索学习中!
不过英文居多,啃起来有些吃力!

论坛徽章:
0
5 [报告]
发表于 2009-11-28 23:19 |只看该作者
没关系,继续努力探索中
多谢指点

论坛徽章:
0
6 [报告]
发表于 2009-11-28 23:23 |只看该作者

论坛徽章:
0
7 [报告]
发表于 2009-11-28 23:48 |只看该作者
多谢,目前基本解决了第一个问题,就是去除首行!
假如Adjacency.csv文件,要去除首行,在Windows下的单行指令如下:
perl -i.old -ne "print unless 1 .. 1" Adjacency.csv

但希望将Adjacency.csv通过脚本删除首行后生成新文件Adjacency.txt
请予指教,另外分裂还没有眉目!

论坛徽章:
0
8 [报告]
发表于 2009-11-28 23:49 |只看该作者
一定要用perl吗?    如果只有15个文件的话直接用awk,head 等其他命令很简单吧!
head -n 255 input.csv > output.csv

[ 本帖最后由 hulnglei 于 2009-11-28 23:51 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2009-11-29 00:01 |只看该作者
改名搞定:
perl -ne "print unless 1 .. 1" <Adjacency.csv>; Adjacency.txt

论坛徽章:
0
10 [报告]
发表于 2009-11-29 00:29 |只看该作者
原帖由 hulnglei 于 2009-11-28 23:49 发表
一定要用perl吗?    如果只有15个文件的话直接用awk,head 等其他命令很简单吧!
head -n 255 input.csv > output.csv


您可能理解有误,不是提取文件的前255行,而是文件中以分号分隔的前255列,因为Access一张表中只能最大处理255个字段,所以要将那个文件分裂成两部分,前255裂作为一个文件,后面得列和最前面的两列作为一个文件!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP