Сначала удалите несколько пробелов для более простой команды grep
sed 's/[ ]*:[ ]*/:/g' file | grep -Eo "[a-zA-Z][^:]*:[0-9.]*"
или
sed 's/[ ]*:[ ]*/:/g' file | grep -Eo "[^:]+:[0-9.]*"
РЕДАКТИРОВАТЬ: Сначала я использовал h
для нахождения первой буквы имени хоста .
Я сделал это через QTJ с классом MovieMaker от обработки библиотек (GPL). Обработкой является чистый Java, хотя это может скрыть его для новичков.
Маленькое учебное руководство: Загрузите Обработку, откройте ее, перейдите к Эскизу-> Выставочная Папка Эскиза, создайте папку, названную "данными", и поместите все свои изображения в той папке, названной "filename01.gif" через "filename09.gif". Вставьте следующий код в редактора и поразите игру:
/**
* Makes a QuickTime movie out of an array of images.
*/
import processing.video.*;
MovieMaker mm;
PImage[] imageFrames;
int index;
void setup() {
size(320, 240);
int numFrames = 9;
imageFrames = new PImage[numFrames];
for( int i = 0; i < imageFrames.length; i++ )
{
imageFrames[i] = loadImage( "filename" + nf(i+1,2) + ".gif" );
}
// Save uncompressed, at 15 frames per second
mm = new MovieMaker(this, width, height, "drawing.mov");
// Or, set specific compression and frame rate options
//mm = new MovieMaker(this, width, height, "drawing.mov", 30,
// MovieMaker.ANIMATION, MovieMaker.HIGH);
}
void draw() {
if( index < imageFrames.length )
{
// show the image
image( imageFrames[index], 0, 0 );
// Add window's pixels to movie
mm.addFrame();
index++;
}
else
{
mm.finish();
// Quit running the sketch once the file is written
exit();
}
}
Это создаст файл "drawing.mov" из Ваших изображений в папке эскиза. Если Вы переходите к файлу-> приложение экспорта, и затем открываете папку эскиза и перешли к папке, application.macosx/source или application.windows/source, должен быть .java файл, который имеет фактический код, который должен быть похожим на это:
import processing.core.*;
import processing.xml.*;
import processing.video.*;
import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import java.util.zip.*;
import java.util.regex.*;
public class movie2 extends PApplet {
/**
* Makes a QuickTime movie out of an array of images.
*/
MovieMaker mm;
PImage[] imageFrames;
int index;
public void setup() {
size(320, 240);
int numFrames = 9;
imageFrames = new PImage[numFrames];
for( int i = 0; i < imageFrames.length; i++ )
{
imageFrames[i] = loadImage( "filename" + nf(i+1,2) + ".gif" );
}
// Save uncompressed, at 15 frames per second
mm = new MovieMaker(this, width, height, "drawing.mov");
// Or, set specific compression and frame rate options
//mm = new MovieMaker(this, width, height, "drawing.mov", 30,
// MovieMaker.ANIMATION, MovieMaker.HIGH);
}
public void draw() {
if( index < imageFrames.length )
{
// show the image
image( imageFrames[index], 0, 0 );
// Add window's pixels to movie
mm.addFrame();
index++;
}
else
{
mm.finish();
// Quit running the sketch once the file is written
//exit();
println( "done" );
}
}
static public void main(String args[]) {
PApplet.main(new String[] { "--bgcolor=#e0dfe3", "movie2" });
}
}
Для использования чистого Java необходимо будет использовать core.jar и video.jar от папки приложения обработки на пути к классу, и затем скомпилировать этот код Java. Вот ссылка на функцию и javadoc для библиотеки обработки. Вот javadocs для класса MovieMaker. Если Вы хотите, Вы видите источник к классу MovieMaker.
HTH
Существует связанная с экспортом часть примера кода здесь:
http://developer.apple.com/samplecode/ImportExport/listing1.html
Это показывает, как единственный собственный фильм в формате QuickTime может быть открыт для чтения и затем перейтись к компоненту MovieExporter для создания нового фильма в формате QuickTime из него.
Чтобы код импортировал файл для как источник для записи, посмотрите
void importMedia()
Чтобы код экспортировал источник в фильм в формате QuickTime, посмотрите
void run()
Должно быть возможно открыть файл изображения с помощью того же подхода, тем не менее, пока формат файла входного файла поддерживается QuickTime (как f.e. BMP).
Необходимо смочь записать последовательность файлов изображений с помощью большей части этого кода также. Единственная точка, которую необходимо будет исследовать, - какой метод необходимо будет назвать для добавления дополнительных кадров к существующему Фильму. Это могло бы работать с помощью того же API, но скорее всего необходимо будет использовать другой вызов.
Если необходимо вырыть для другого метода, необходимо смочь найти его в спокойной Справочной документации Java расположенным здесь:
http://developer.apple.com/Java/Reference/1.4/Java14API_QTJ/
Это - взлом и скорее всего плохой в производительности, но это могло бы на самом деле работать.
И... Я никогда не пробовал это (я - QuickTime для парня Windows торговлей), так: извините, никакая гарантия =).
Править: При поиске способа записать кадры в спокойный Фильм с помощью существующего входного буфера вместо того, чтобы считать данные из файла с помощью спокойного API должны быть API для этого также. Просто проверьте справочную документацию.
Редактирование 2: На самом деле могло бы стоить проверить документацию API C/C++ здесь, поскольку именование компонентов и вызовов, кажется, следует примерно тем же соглашениям о присвоении имен (т.е. это могло бы помочь вырыть для вызовов Java API, в котором Вы нуждаетесь), и Документы C/C++, кажется, более полны с точки зрения обеспечения Руководств и Как To как начальная точка. Документы C/C++ могут быть найдены здесь:
http://developer.apple.com/referencelibrary/QuickTime/index.html
Самые интересные разделы должны быть
Развлекайтесь!