Вот решение в R.
Загрузите ваши данные:
a <- readLines(textConnection("track type= wiggle name09
variableStep chrom=chr1
34 5
36 7
54 8
variableStep chrom=chr2
33 4
35 2
78 7
this is text with the word random in it# this we need to remove
82 4
88 6
variableStep chrom=chr3
78 5
89 4
56 7"))
Обработайте его, найдя точки останова и сохранив только строки с числовым форматом пространства:
idx <- grep("=", a)
idx <- idx[c(which((idx[-1]-idx[-length(idx)])>1),length(idx))]
idx <- cbind(idx+1,c(idx[-1]-1,length(a)))
sapply(1:nrow(idx), function(i) {
x <- a[idx[i,1]:idx[i,2]]
write.table(x[grep("^\\d+\\s+\\d+\\s*", x, perl=TRUE)], file=as.character(i), row.names=FALSE, col.names=FALSE, quote=FALSE)
})