2014-12-13 18 views
-1

У меня есть файлы данных, которые CSVishPerl Regex удалить определенные строки

Некоторые записи не имеют никаких запятых, так как они являются заголовки субтитров. Я бы хотел удалить эти строки.

Примеры данных ниже (извините общие данные)
Я хочу, чтобы regex/perl один вкладыш удалял все строки субтитров. Заранее спасибо

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

'Grep -v, file' – toolic

ответ

3

Используйте приведенное ниже регулярное выражение для соответствия всем строкам, не имеющим запятых.

^[^,\n]+$ 

или

^[^,\n]*$ 

После можно удалить совпавшие строки.

Perl односторонний.

$ 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 
3

Использование -i для редактирования на месте,

perl -i -ne 'print if /,/' file 

 Смежные вопросы

  • Нет связанных вопросов^_^