0

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

文件 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 的更好方法。它会欣赏任何优雅的方法。

此致。

4

3 回答 3

0

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

head -n 1 minimumThickness*.k > results.txt
于 2012-04-13T14:09:19.810 回答
0

这可能对您有用(GNU sed):

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

或者

head -qn1 minimumThickness*.k > results.txt
于 2012-04-14T06:57:38.820 回答
0

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

于 2012-04-13T14:06:15.083 回答