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'

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...