从文件中提取数据并使用sed附加到linux中的目标文件

时间:2012-04-13 13:39:17

标签: linux sed append extract

我想从文件minimumThickness * .k中提取一些数据,并希望将其放在文件results.txt中。 文件mimimumThickness * .k在第一行中只有两个值。

文件minimumThickness.k是一系列文件,从1到100,如

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

我曾经按照命令执行此操作但未成功。

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

我也可以使用

for loop of i over 1 to hundred 

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

请告诉我有关sed的问题或建议我使用sed更好的方法。它会欣赏任何优雅的方法。

最好的问候。

3 个答案:

答案 0 :(得分:0)

[0-9。] *将匹配任何内容,因此您可能无法看到预期的结果。您可以尝试[0-9] * \。[0-9] *获得双打(进行一些修改)。

答案 1 :(得分:0)

如果您只需要每个文件的第一行:

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

答案 2 :(得分:0)

这可能适合你(GNU sed):

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

head -qn1 minimumThickness*.k > results.txt