On Fri, Jan 04, 2002 at 12:34:04AM +0100, Hilmar Preusse wrote:
Finalerweise soll eine Quadratmatrik daraus werden, wobei die Punkte als Trenner zwischen den Spalten gelten also so:
fb.bndf... rgm.hdnh.thif.zjhkzi.jtu gndbnf.htm.gr.hjih.
Spalten die leer sind, sollen so bleiben. Dazu hielt ich es für günstig, die Anzahl der Punkte pro Zeile aufzuheben, um mittels des Maximums die Zahl der fehlenden Punkte zu berechnen. Heute habe ich dann daran herumgetüftelt, wie man die dann mittels sed in die Zeile reinschiebt, bin aber irgendwie zu keinem Ergebnis gekommen. Na ja, morgen ist auch noch ein Tag. Danke bis hierhin auch an Reinhard.
Ich hoffe es nun richtig verstanden zu haben ... Christians Beispiel weitergesponnen:
#!/bin/bash infile=data outfile=data.out
max=0 while read ln do pts=`echo $ln | tr -dc . | wc -c` [ $max -lt $pts ] && max=$pts done < $infile
while read ln do buf='' i=0 pts=`echo $ln | tr -dc . | wc -c` newpts=$(($max-$pts)) while [ $i -lt $newpts ] do buf=$buf. i=$((i+1)) done echo $ln$buf >> $outfile done < $infile
Reinhard