如何使用perl从输入文件中删除列
如何使用perl删除列?有人能给我举个基本的例子吗?例如,我想删除日期和日期值: 输入文件:如何使用perl从输入文件中删除列,perl,Perl,如何使用perl删除列?有人能给我举个基本的例子吗?例如,我想删除日期和日期值: 输入文件: Date,Col2,Col3,Col4 9/14/2011,AA Host Info,Tier 1,Info 9/14/2011,AR Host Info T1,Tier 1,Info 预期/新文件: Col2,Col3,Col4 AA Host Info,Tier 1,Info AR Host Info T1,Tier 1,Info 简单 #!/usr/bin/perl -p s/.*?,//;
Date,Col2,Col3,Col4
9/14/2011,AA Host Info,Tier 1,Info
9/14/2011,AR Host Info T1,Tier 1,Info
预期/新文件:
Col2,Col3,Col4
AA Host Info,Tier 1,Info
AR Host Info T1,Tier 1,Info
简单
#!/usr/bin/perl -p
s/.*?,//;
简单
#!/usr/bin/perl -p
s/.*?,//;
这是方便的,它是第一列被删除;“这非常简洁。@Jonathan:另一个特别有用的是日期不太可能包含带引号的逗号。”。在一般情况下,使用
Text::CSV
模块或类似模块是必要的,或者至少非常有用。哇。似乎是这样。*?
是否被解释为从行首到逗号的全部内容?再次感谢。@cjd143SD:所有内容直到第一个逗号。(如果没有?
,它将是直到最后一个逗号的所有内容。)方便的是,它是要删除的第一列;“这非常简洁。@Jonathan:另一个特别有用的是日期不太可能包含带引号的逗号。”。在一般情况下,使用Text::CSV
模块或类似模块是必要的,或者至少非常有用。哇。似乎是这样。*?
是否被解释为从行首到逗号的全部内容?再次感谢。@cjd143SD:所有内容直到第一个逗号。(如果没有?
,它将是直到最后一个逗号的所有内容。)