微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl – 如何只对文件的第一行进行更改?

我想知道我可以在sed中使用哪种模式来更改第一行巨大文件(〜2 GB).对sed的偏好只是因为我认为它必须比 Python或Perl脚本更快.

文件具有以下结构:

field 1,field 2,... field n
data

并且,鉴于每个字段的标识符中都有空格的可能性,我需要用下划线替换每个空格:

**BEFORE** 
the first name,the second name,the first surname,a nickname,...
data

**AFTER**
the_first_name,the_second_name,the_first_surname,a_nickname,...
data

任何指向正确使用模式的指针,或者另一种脚本解决方案将是巨大的.

解决方法

编辑前10行
sed -i -e '1,10s/ /_/g'

在Perl中,您可以在标量上下文中使用触发器操作符:

perl -i -pe 's/ /_/g if 1 .. 10'

原文地址:https://www.jb51.cc/Perl/171458.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐