2012-04-13 14 views
0

Ich möchte einige Daten aus den Dateien minimumThickness * .k extrahieren und in die Datei results.txt einfügen. Die Datei mimimumThickness * .k hat nur doppelte Werte in der ersten Zeile.Extrahieren von Daten aus einer Datei und Anhängen an die Zieldatei in Linux mit sed

Die Dateien minimumThickness.k sind eine Reihe von Dateien von 1 bis hundert wie

mimimumThickness1.k 
mimimumThickness2.k 
mimimumThickness3.k 
. . . 
. . . 
mimimumThickness100.k 

ich folgenden Befehl verwendet, es zu tun, aber war nicht erfolgreich.

sed -n '/^[0-9.]*$/w results.txt' minimumThickness*.k 

ich auch

for loop of i over 1 to hundred 

thickness=´cat minimumThickness$i.k | {print $1} ' | bc` 
echo $thickness 
thickess >> results.txt 

freundlich erklären mir über das Problem mit sed oder empfehlen Sie mir bessere Möglichkeit der Verwendung von sed nutzen könnten. Es würde jede elegante Methode zu schätzen wissen.

mit freundlichen Grüßen.

Antwort

0

[0-9.] * Entspricht allem und Sie sehen möglicherweise nicht das erwartete Ergebnis. Sie können [0-9] * \. [0-9] * versuchen, Doppel zu erhalten (mit einigen Modifikationen).

+1

'[0- 9.] 'stimmt nicht mit allem überein:' echo '0123asdf ...' | sed 's/[0-9.] // g'' outputs' asdf' – huon

+0

Die '-n' Option unterbricht sie (zB' echo '0123asdf ...' | sed -n 's/xyz // g "druckt auch nichts". Probieren Sie es ohne. – huon

+0

> cat p1.txt hallo hai Welt > cat p2.txt Hölle gag 9,9 > sed -n '/[0-9.]*/w output.txt' * .txt > cat output.txt hallo hai Welt Hölle gag 9.9 – Chaitanya

0

Wenn Sie nur die erste Zeile jeder Datei:

head -n 1 minimumThickness*.k > results.txt 
0

Dies könnte für Sie arbeiten (GNU sed):

sed -sn '1w results.txt' minimumThickness*.k 

oder

head -qn1 minimumThickness*.k > results.txt 
Verwandte Themen