我有CSVish的数据文件
有些参赛作品没有逗号,因为它们是字幕标题。我想删除这些内容。
以下示例数据(借口通用数据)
我想要一个正则表达式/ perl one liner来删除所有字幕行。提前谢谢
Title1 Books,
subtitleA
items,1,2,3,4
days,1,2,3,4
subtitleB
items,1,2,3,4
days,1,2,3,4
Title2 Posters,
subtitleC
items,1,2,3,4
days,1,2,3,4
subtitleD
items,1,2,3,4
days,1,2,3,4
答案 0 :(得分:3)
使用以下正则表达式匹配所有没有逗号的行。
^[^,\n]+$
或
^[^,\n]*$
删除匹配的行后。
Perl one-liner。
$ perl -ne 'print unless /^[^,]+$/' file
$ perl -ne 'print unless /^[^,\n]+$/' file
Title1 Books,
items,1,2,3,4
days,1,2,3,4
items,1,2,3,4
days,1,2,3,4
Title2 Posters,
items,1,2,3,4
days,1,2,3,4
items,1,2,3,4
days,1,2,3,4
答案 1 :(得分:3)
使用-i
进行就地编辑,
perl -i -ne 'print if /,/' file